openapi: 3.0.2
info:
  title: SOL005 - NS Lifecycle Management Interface
  description: |
    SOL005 - NS Lifecycle Management Interface

    IMPORTANT: Please note that this file might be not aligned to the current
    version of the ETSI Group Specification it refers to. In case of
    discrepancies the published ETSI Group Specification takes precedence.

    Please report bugs to https://forge.etsi.org/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.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1'
externalDocs:
  description: ETSI GS NFV-SOL 005 V3.6.1
  url: >-
    https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_nfv-sol005v030601p.pdf
servers:
  - url: 'http://127.0.0.1/nslcm/v2'
  - url: 'https://127.0.0.1/nslcm/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:
      description: >
        The GET method reads API version information. This method shall follow
        the provisions specified in SOL013 table 9.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 API version information, as defined in SOL013 clause
            7.1.6.
          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
        '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
    post:
      description: >
        This method is not supported. When this method is requested on this
        resource, the API producer shall return a "405 Method Not Allowed"
        response as defined in SOL013 clause 6.4.
      responses:
        '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
    put:
      description: >
        This method is not supported. When this method is requested on this
        resource, the API producer shall return a "405 Method Not Allowed"
        response as defined in SOL013 clause 6.4.
      responses:
        '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
    patch:
      description: >
        This method is not supported. When this method is requested on this
        resource, the API producer shall return a "405 Method Not Allowed"
        response as defined in SOL013 clause 6.4.
      responses:
        '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
    delete:
      description: >
        This method is not supported. When this method is requested on this
        resource, the API producer shall return a "405 Method Not Allowed"
        response as defined in SOL013 clause 6.4.
      responses:
        '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
  /ns_instances:
    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:
      description: >
        The GET method queries information about multiple NS instances. See
        clause 6.4.2.3.2.
      parameters:
        - in: query
          name: filter
          description: >
            Attribute-based filtering expression according to clause 5.2 of ETSI
            GS NFV SOL 013. The NFVO shall support receiving this parameter as
            part of the URI query string.  The OSS/BSS may supply this
            parameter. All attribute names that appear in the NsInstance and in
            data types referenced from  it shall be supported by the NFVO in the
            filter expression.
          schema:
            type: string
        - name: all_fields
          description: >
            Include all complex attributes in the response. See clause 5.3 of
            ETSI GS NFV-SOL 013 for details.  The NFVO 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 NFVO 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 NFVO should support this
            parameter.
          in: query
          required: false
          schema:
            type: string
        - in: query
          name: exclude_default
          description: "Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. The 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 -\twanConnectionInfo\n"
          schema:
            type: string
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be
            supported by the NFVO if the NFVO 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 NS instances
            has been queried successfully. The response

            body shall contain in an array the representations of zero or more
            NS instances, as defined in clause 6.5.2.8.

            If the "filter" URI parameter or one of the "all_fields", "fields"
            (if supported), "exclude_fields" (if supported)

            or "exclude_default" URI parameters was supplied in the request, the
            data in the response body shall have been

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

            If the NFVO supports alternative 2 (paging) according to clause
            5.4.2.1 of ETSI GS NFV-SOL 013 [16] 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 [16].
          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
            Link:
              description: >
                Reference to other resources. Used for paging in the present
                document, see clause 4.7.2.1.
              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 response for Query NS operation.  It shall comply with the provisions defined in Table 6.5.2.10-1.\nNOTE 1:\tIf the \"nsState\" attribute is INSTANTIATED, at least either one\n          \"vnfInstance\" attribute or one \"nestedNsInstanceId\" attribute shall be present.\nNOTE 2:\tThe “priority” attribute of the NS instance is configured in the NSD in the NsDf structure.\n          The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility.\n          The \"zero\" value expresses the highest priority and the fact that the NS instance based on this DF cannot be\n          pre-empted during resource allocation.\nNOTE 3:\tExamples for the usage of priority include conflict resolution in case of resource shortage\n"
                  type: object
                  required:
                    - id
                    - nsInstanceName
                    - nsInstanceDescription
                    - nsdId
                    - nsdInfoId
                    - nsState
                    - _links
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    nsInstanceName:
                      description: |
                        Human readable name of the NS instance.
                      type: string
                    nsInstanceDescription:
                      description: |
                        Human readable description of the NS instance.
                      type: string
                    nsdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    nsdInfoId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    flavourId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    priority:
                      description: |
                        A number as defined in IETF RFC 8259.
                      type: number
                    vnfInstance:
                      description: >
                        Information on constituent VNF(s) of the NS instance.
                        See note 1.
                      type: array
                      items:
                        description: >
                          This type represents a VNF instance. It shall comply
                          with the provisions defined in table 6.5.3.57-1.

                          NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides
                          examples illustrating the relationship among the 
                                different run-time information elements (CP, VL and link ports) used to represent the connectivity 
                                of a VNF.

                          NOTE 1: Modifying the value of this attribute shall
                          not be performed when conflicts exist between the 
                                  previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to 
                                  the previous VNFD in other aspects than merely referencing to other VNF software images. 
                                  In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, 
                                  the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall 
                                  be kept in sync with the values in the VNFD.
                          NOTE 2: ETSI GS NFV-SOL 001 specifies the structure
                          and format of the VNFD based on TOSCA specifications.
                          NOTE 3: VNF configurable properties are sometimes also
                          referred to as configuration parameters applicable 
                                  to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, 
                                  some are set prior to instantiation (are part of initial configuration) and can be modified later, 
                                  and others can be set only after instantiation. The applicability of certain configuration may depend 
                                  on the VNF and the required operation of the VNF at a certain point in time.
                          NOTE 4: It is possible to have several
                          ExtManagedVirtualLinkInfo for the same VNF internal VL
                          in case of a 
                                  multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same 
                                  VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed 
                                  multi-site VL instance (refer to clause 6.5.3.59).
                          NOTE 5: Even though externally-managed internal VLs
                          are also used for VNF-internal connectivity, they
                          shall not 
                                  be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
                        type: object
                        required:
                          - id
                          - vnfdId
                          - vnfProvider
                          - vnfProductName
                          - vnfSoftwareVersion
                          - vnfdVersion
                          - vnfPkgId
                          - instantiationState
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfInstanceName:
                            description: >
                              Name of the VNF instance. Modifications to this
                              attribute can be requested using the
                              "ModifyVnfInfoData" structure.
                            type: string
                          vnfInstanceDescription:
                            description: >
                              Human-readable description of the VNF instance.
                              Modifications to this attribute can be requested
                              using the "ModifyVnfInfoData" structure.
                            type: string
                          vnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfProvider:
                            description: >
                              Provider of the VNF and the VNFD. The value is
                              copied from the VNFD.
                            type: string
                          vnfProductName:
                            description: >
                              Name to identify the VNF Product. The value is
                              copied from the VNFD.
                            type: string
                          vnfSoftwareVersion:
                            description: >
                              A Version. Representation: string of variable
                              length.
                            type: string
                          vnfdVersion:
                            description: >
                              A Version. Representation: string of variable
                              length.
                            type: string
                          vnfPkgId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfConfigurableProperties:
                            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
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          instantiationState:
                            description: >
                              The instantiation state of the VNF.

                              Permitted values: - NOT_INSTANTIATED: The VNF
                              instance is terminated or not instantiated. -
                              INSTANTIATED: The VNF instance is instantiated.
                            type: string
                            enum:
                              - NOT_INSTANTIATED
                              - INSTANTIATED
                          instantiatedVnfInfo:
                            description: >
                              Information specific to an instantiated VNF
                              instance. This attribute shall be present if the
                              instantiateState attribute value is INSTANTIATED.
                            type: object
                            required:
                              - flavourId
                              - vnfState
                              - extCpInfo
                            properties:
                              flavourId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfState:
                                type: string
                                enum:
                                  - STARTED
                                  - STOPPED
                              scaleStatus:
                                description: >
                                  Scale status of the VNF, one entry per aspect.
                                  Represents for every scaling aspect how "big"
                                  the VNF has been scaled w.r.t. that aspect.
                                type: array
                                items:
                                  required:
                                    - aspectId
                                    - scaleLevel
                                  type: object
                                  properties:
                                    aspectId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    scaleLevel:
                                      description: >
                                        Indicates the scale level. The minimum
                                        value shall be 0 and the maximum value
                                        shall be <= maxScaleLevel as described
                                        in the VNFD.
                                      type: integer
                              maxScaleLevels:
                                description: >
                                  Maximum allowed scale levels of the VNF, one
                                  entry per aspect. This attribute shall be
                                  present if the VNF supports scaling.
                                type: array
                                items:
                                  required:
                                    - aspectId
                                    - scaleLevel
                                  type: object
                                  properties:
                                    aspectId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    scaleLevel:
                                      description: >
                                        Indicates the scale level. The minimum
                                        value shall be 0 and the maximum value
                                        shall be <= maxScaleLevel as described
                                        in the VNFD.
                                      type: integer
                              extCpInfo:
                                description: >
                                  Information about the external CPs exposed by
                                  the VNF instance. When trunking is enabled,
                                  the list of entries includes both, external
                                  CPs corresponding to parent ports of a trunk,
                                  and external CPs associated to sub-ports of a
                                  trunk.
                                type: array
                                minItems: 1
                                items:
                                  description: "This type represents information about an external CP of a VNF. It shall comply  with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n"
                                  type: object
                                  required:
                                    - id
                                    - cpdId
                                  oneOf:
                                    - required:
                                        - associatedVnfcCpId
                                    - required:
                                        - associatedVnfVirtualLinkId
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpdId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    cpConfigId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    cpProtocolInfo:
                                      description: >
                                        Network protocol information for this
                                        CP.
                                      type: array
                                      minItems: 1
                                      items:
                                        description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                        type: object
                                        required:
                                          - layerProtocol
                                          - ipOverEthernet
                                        properties:
                                          layerProtocol:
                                            description: >
                                              The identifier of layer(s) and
                                              protocol(s) associated to the network
                                              address information. Permitted values:
                                                - IP_OVER_ETHERNET

                                              See note.
                                            type: string
                                            enum:
                                              - IP_OVER_ETHERNET
                                          ipOverEthernet:
                                            description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                            type: object
                                            anyOf:
                                              - required:
                                                  - macAddress
                                              - required:
                                                  - ipAddresses
                                            properties:
                                              macAddress:
                                                description: >
                                                  A MAC address. Representation: string
                                                  that consists of groups of two
                                                  hexadecimal digits, separated by hyphens
                                                  or colons.
                                                type: string
                                                format: MAC
                                              segmentationId:
                                                description: >
                                                  Identification of the network segment to
                                                  which the Cp instance connects to. See
                                                  note 3 and note 4.
                                                type: string
                                              ipAddresses:
                                                description: >
                                                  Addresses assigned to the CP instance.
                                                  Each entry represents IP addresses
                                                  assigned by fixed or dynamic IP address
                                                  assignment per subnet. See note 1.
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - type
                                                  oneOf:
                                                    - required:
                                                        - addresses
                                                    - required:
                                                        - addressRange
                                                  properties:
                                                    type:
                                                      description: >
                                                        The type of the IP addresses. Permitted
                                                        values: - IPV4 - IPV6
                                                      type: string
                                                      enum:
                                                        - IPV4
                                                        - IPV6
                                                    addresses:
                                                      description: >
                                                        Fixed addresses assigned (from the
                                                        subnet defined by "subnetId" if
                                                        provided). See note 2.
                                                      type: array
                                                      items:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                    isDynamic:
                                                      description: >
                                                        Indicates whether this set of addresses
                                                        was assigned dynamically (true) or based
                                                        on address information provided as input
                                                        from the API consumer (false). Shall be
                                                        present if "addresses" is present and
                                                        shall be absent otherwise.
                                                      type: boolean
                                                    addressRange:
                                                      description: >
                                                        An IP address range used, e.g., in case
                                                        of egress connections. Exactly one of
                                                        "addresses" or "addressRange" shall be
                                                        present. See note 2.
                                                      type: object
                                                      required:
                                                        - minAddress
                                                        - maxAddress
                                                      properties:
                                                        minAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        maxAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                    subnetId:
                                                      description: >
                                                        An identifier maintained by the VIM or
                                                        other resource provider. It is expected
                                                        to be unique within the VIM instance.
                                                        Representation: string of variable
                                                        length.
                                                      type: string
                                              type:
                                                description: |
                                                  The type of the IP addresses
                                                type: string
                                                enum:
                                                  - PV4
                                                  - PV6
                                              addresses:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              isDynamic:
                                                description: >
                                                  Indicates whether this set of addresses
                                                  was assigned dynamically (true) or based
                                                  on address information provided as input
                                                  from the API consumer (false). Shall be
                                                  present if "addresses" is present and
                                                  shall be absent otherwise.
                                                type: boolean
                                              addressRange:
                                                description: >
                                                  An IP address range used, e.g. in case
                                                  of egress connections. See note.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                    extLinkPortId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      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
                                    associatedVnfcCpId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    associatedVipCpId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    associatedVnfVirtualLinkId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                              vipCpInfo:
                                description: >
                                  VIP CPs that are part of the VNF instance.
                                  Shall be present when that particular VIP CP
                                  of the VNFC instance is associated to an
                                  external CP of the VNF instance. May be
                                  present otherwise.
                                type: array
                                items:
                                  description: >
                                    This type provides information related to
                                    virtual IP (VIP) CP. It shall comply with
                                    the provisions defined in table 6.5.3.97 1.
                                    NOTE:   It is possible that there is no
                                    associated VnfcCp because the VIP CP is
                                    available but not associated yet.
                                  type: object
                                  required:
                                    - cpInstanceId
                                    - cpdId
                                  properties:
                                    cpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpdId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfExtCpId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpProtocolInfo:
                                      description: >
                                        Protocol information for this CP. There
                                        shall be one cpProtocolInfo for layer 3.
                                        There may be one cpProtocolInfo for
                                        layer 2.
                                      type: array
                                      items:
                                        description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                        type: object
                                        required:
                                          - layerProtocol
                                          - ipOverEthernet
                                        properties:
                                          layerProtocol:
                                            description: >
                                              The identifier of layer(s) and
                                              protocol(s) associated to the network
                                              address information. Permitted values:
                                                - IP_OVER_ETHERNET

                                              See note.
                                            type: string
                                            enum:
                                              - IP_OVER_ETHERNET
                                          ipOverEthernet:
                                            description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                            type: object
                                            anyOf:
                                              - required:
                                                  - macAddress
                                              - required:
                                                  - ipAddresses
                                            properties:
                                              macAddress:
                                                description: >
                                                  A MAC address. Representation: string
                                                  that consists of groups of two
                                                  hexadecimal digits, separated by hyphens
                                                  or colons.
                                                type: string
                                                format: MAC
                                              segmentationId:
                                                description: >
                                                  Identification of the network segment to
                                                  which the Cp instance connects to. See
                                                  note 3 and note 4.
                                                type: string
                                              ipAddresses:
                                                description: >
                                                  Addresses assigned to the CP instance.
                                                  Each entry represents IP addresses
                                                  assigned by fixed or dynamic IP address
                                                  assignment per subnet. See note 1.
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - type
                                                  oneOf:
                                                    - required:
                                                        - addresses
                                                    - required:
                                                        - addressRange
                                                  properties:
                                                    type:
                                                      description: >
                                                        The type of the IP addresses. Permitted
                                                        values: - IPV4 - IPV6
                                                      type: string
                                                      enum:
                                                        - IPV4
                                                        - IPV6
                                                    addresses:
                                                      description: >
                                                        Fixed addresses assigned (from the
                                                        subnet defined by "subnetId" if
                                                        provided). See note 2.
                                                      type: array
                                                      items:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                    isDynamic:
                                                      description: >
                                                        Indicates whether this set of addresses
                                                        was assigned dynamically (true) or based
                                                        on address information provided as input
                                                        from the API consumer (false). Shall be
                                                        present if "addresses" is present and
                                                        shall be absent otherwise.
                                                      type: boolean
                                                    addressRange:
                                                      description: >
                                                        An IP address range used, e.g., in case
                                                        of egress connections. Exactly one of
                                                        "addresses" or "addressRange" shall be
                                                        present. See note 2.
                                                      type: object
                                                      required:
                                                        - minAddress
                                                        - maxAddress
                                                      properties:
                                                        minAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        maxAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                    subnetId:
                                                      description: >
                                                        An identifier maintained by the VIM or
                                                        other resource provider. It is expected
                                                        to be unique within the VIM instance.
                                                        Representation: string of variable
                                                        length.
                                                      type: string
                                              type:
                                                description: |
                                                  The type of the IP addresses
                                                type: string
                                                enum:
                                                  - PV4
                                                  - PV6
                                              addresses:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              isDynamic:
                                                description: >
                                                  Indicates whether this set of addresses
                                                  was assigned dynamically (true) or based
                                                  on address information provided as input
                                                  from the API consumer (false). Shall be
                                                  present if "addresses" is present and
                                                  shall be absent otherwise.
                                                type: boolean
                                              addressRange:
                                                description: >
                                                  An IP address range used, e.g. in case
                                                  of egress connections. See note.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                    associatedVnfcCpIds:
                                      description: >
                                        Identifiers of the VnfcCps that share
                                        the virtual IP addresse allocated to the
                                        VIP CP instance. See note.
                                      type: array
                                      items:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                    vnfLinkPortId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    metadata:
                                      description: >
                                        Allows the OSS/BSS to provide additional
                                        parameter(s) to the termination process
                                        at the NS level.
                                      type: array
                                      items:
                                        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
                              extVirtualLinkInfo:
                                description: >
                                  Information about the external VLs the VNF
                                  instance is connected to.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - id
                                    - resourceHandle
                                  properties:
                                    id:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceHandle:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    extLinkPorts:
                                      description: |
                                        Link ports of this VL.
                                      type: array
                                      items:
                                        description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                        type: object
                                        required:
                                          - id
                                          - resourceHandle
                                        properties:
                                          id:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceHandle:
                                            description: >
                                              This type represents the information
                                              that allows addressing a virtualised
                                              resource that is used by a VNF instance
                                              or by an NS instance. Information about
                                              the resource is available from the VIM.
                                              NOTE: The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle.
                                            type: object
                                            required:
                                              - resourceId
                                            properties:
                                              vimId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceProviderId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                              vimLevelResourceType:
                                                description: >
                                                  Type of the resource in the scope of the
                                                  VIM, the WIM or the resource provider.
                                                  The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle. See note.
                                                type: string
                                          cpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          secondaryCpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          trunkResourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                    currentVnfExtCpData:
                                      description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                      type: object
                                      required:
                                        - cpdId
                                      properties:
                                        cpdId:
                                          description: >
                                            Identifier of the VNF Virtual Link
                                            Descriptor (VLD) in the VNFD.
                                          type: string
                                        cpConfig:
                                          description: >
                                            Map of instance data that need to be
                                            configured on the CP instances  created
                                            from the respective CPD. The key of the
                                            map which identifies  the individual
                                            VnfExtCpConfig entries is of type
                                            "IdentifierInVnf"  and is managed by the
                                            API consumer. The entries shall be
                                            applied by  the VNFM according to the
                                            rules of JSON Merge Patch (see IETF RFC
                                            7396 [11]).  See notes 2, 3 and 4.
                                          type: object
                                          additionalProperties:
                                            description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                            type: object
                                            anyOf:
                                              - required:
                                                  - linkPortId
                                              - required:
                                                  - cpProtocolData
                                            properties:
                                              parentCpConfigId:
                                                description: >
                                                  An identifier that is unique for the
                                                  respective type within a VNF instance,
                                                  but may not be globally unique.
                                                type: string
                                              linkPortId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              createExtLinkPort:
                                                description: >
                                                  Indicates the need to create a dedicated
                                                  link port for the external CP. If set to
                                                  True, a link port is created. If set to
                                                  False, no link port is created. This
                                                  attribute is only applicable for
                                                  external CP instances without a floating
                                                  IP address that expose a VIP CP instance
                                                  for which a dedicated IP address is
                                                  allocated. It shall be present in that
                                                  case and shall be absent otherwise.
                                                type: boolean
                                              cpProtocolData:
                                                description: >
                                                  Parameters for configuring the network
                                                  protocols on the link port that connects
                                                  the CP to a VL. See note 1.
                                                type: array
                                                items:
                                                  description: >
                                                    This type represents network protocol
                                                    data.
                                                  type: object
                                                  required:
                                                    - layerProtocol
                                                  properties:
                                                    layerProtocol:
                                                      description: >
                                                        Identifier of layer(s) and protocol(s).
                                                        Permitted values: IP_OVER_ETHERNET.
                                                      type: string
                                                      enum:
                                                        - IP_OVER_ETHERNET
                                                    ipOverEthernet:
                                                      description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                      type: object
                                                      anyOf:
                                                        - required:
                                                            - ipAddresses
                                                        - required:
                                                            - macAddress
                                                      properties:
                                                        macAddress:
                                                          description: >
                                                            A MAC address. Representation: string
                                                            that consists of groups of two
                                                            hexadecimal digits, separated by hyphens
                                                            or colons.
                                                          type: string
                                                          format: MAC
                                                        segmentationType:
                                                          description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                          type: string
                                                          enum:
                                                            - VLAN
                                                            - INHERIT
                                                        segmentationId:
                                                          description: >
                                                            Identification of the network segment to
                                                            which the CP instance connects to. See
                                                            note 3 and note 4.
                                                          type: string
                                                        ipAddresses:
                                                          description: >
                                                            List of IP addresses to assign to the CP
                                                            instance. Each entry represents IP
                                                            address data for fixed or dynamic IP
                                                            address assignment per subnet. If this
                                                            attribute is not present, no IP address
                                                            shall be assigned. See note 1.
                                                          type: array
                                                          items:
                                                            type: object
                                                            required:
                                                              - type
                                                            oneOf:
                                                              - required:
                                                                  - fixedAddresses
                                                              - required:
                                                                  - numDynamicAddresses
                                                              - required:
                                                                  - addressRange
                                                            properties:
                                                              type:
                                                                description: >
                                                                  The type of the IP addresses. Permitted
                                                                  values:
                                                                    - IPV4
                                                                    - IPV6
                                                                type: string
                                                                enum:
                                                                  - IPV4
                                                                  - IPV6
                                                              fixedAddresses:
                                                                description: >
                                                                  Fixed addresses to assign (from the
                                                                  subnet defined by "subnetId" if
                                                                  provided). Exactly one of
                                                                  "fixedAddresses", "numDynamicAddresses"
                                                                  or "ipAddressRange" shall be present.
                                                                type: array
                                                                items:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                              numDynamicAddresses:
                                                                description: >
                                                                  Number of dynamic addresses to assign
                                                                  (from the subnet defined by "subnetId"
                                                                  if provided). See note 2.
                                                                type: integer
                                                              addressRange:
                                                                description: >
                                                                  An IP address range to be used, e.g. in
                                                                  case of egress connections. In case this
                                                                  attribute is present, IP addresses from
                                                                  the range will be used.
                                                                type: object
                                                                required:
                                                                  - minAddress
                                                                  - maxAddress
                                                                properties:
                                                                  minAddress:
                                                                    description: >
                                                                      An IPV4 or IPV6 address. Representation:
                                                                      In case of an IPV4 address, string that
                                                                      consists of four decimal integers
                                                                      separated by dots, each integer ranging
                                                                      from 0 to 255. In case of an IPV6
                                                                      address, string that consists of groups
                                                                      of zero to four hexadecimal digits,
                                                                      separated by colons.
                                                                    type: string
                                                                    format: IP
                                                                  maxAddress:
                                                                    description: >
                                                                      An IPV4 or IPV6 address. Representation:
                                                                      In case of an IPV4 address, string that
                                                                      consists of four decimal integers
                                                                      separated by dots, each integer ranging
                                                                      from 0 to 255. In case of an IPV6
                                                                      address, string that consists of groups
                                                                      of zero to four hexadecimal digits,
                                                                      separated by colons.
                                                                    type: string
                                                                    format: IP
                                                              subnetId:
                                                                description: >
                                                                  An identifier maintained by the VIM or
                                                                  other resource provider. It is expected
                                                                  to be unique within the VIM instance.
                                                                  Representation: string of variable
                                                                  length.
                                                                type: string
                              extManagedVirtualLinkInfo:
                                description: >
                                  Information about the externally-managed
                                  internal VLs of the VNF instance.  See note 4
                                  and note 5.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - id
                                    - vnfVirtualLinkDescId
                                  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
                                    vnfVirtualLinkDescId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    networkResource:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    vnfLinkPorts:
                                      description: |
                                        Link ports of this VL.
                                      type: array
                                      items:
                                        type: object
                                        description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                        required:
                                          - id
                                          - resourceHandle
                                        properties:
                                          id:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          resourceHandle:
                                            description: >
                                              This type represents the information
                                              that allows addressing a virtualised
                                              resource that is used by a VNF instance
                                              or by an NS instance. Information about
                                              the resource is available from the VIM.
                                              NOTE: The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle.
                                            type: object
                                            required:
                                              - resourceId
                                            properties:
                                              vimId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceProviderId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                              vimLevelResourceType:
                                                description: >
                                                  Type of the resource in the scope of the
                                                  VIM, the WIM or the resource provider.
                                                  The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle. See note.
                                                type: string
                                          cpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          cpInstanceType:
                                            description: >
                                              Type of the CP instance that is
                                              identified by cpInstanceId. Shall be
                                              present if "cpInstanceId" is present,
                                              and shall be absent otherwise. Permitted
                                              values: * VNFC_CP: The link port is
                                              connected to a VNFC CP * EXT_CP: The
                                              link port is associated to an external
                                              CP. See note 1.
                                            type: string
                                            enum:
                                              - VNFC_CP
                                              - EXT_CP
                                          vipCpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          trunkResourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                    extManagedMultisiteVirtualLinkId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                              monitoringParameters:
                                description: >
                                  Performance metrics tracked by the VNFM (e.g.
                                  for  auto-scaling purposes) as identified by
                                  the VNF  provider in the VNFD.
                                type: array
                                items:
                                  description: >
                                    This type represents a monitoring parameter
                                    that is tracked by the VNFM, for example, 
                                    for auto-scaling purposes. It shall comply
                                    with the provisions defined in Table
                                    6.5.3.69-1.
                                  type: object
                                  required:
                                    - id
                                    - performanceMetric
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique within a NS
                                        descriptor. Representation: string of
                                        variable length.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    name:
                                      description: >
                                        Human readable name of the monitoring
                                        parameter, as defined in the VNFD.
                                      type: string
                                    performanceMetric:
                                      description: >
                                        Performance metric that is monitored.
                                        This attribute shall contain the
                                        related  "Measurement Name" value as
                                        defined in clause 7.2 of ETSI GS NFV-IFA
                                        027.
                                      type: string
                              localizationLanguage:
                                description: >
                                  Information about localization language of the
                                  VNF (includes e.g. strings in the VNFD). The
                                  localization languages supported by a VNF can
                                  be declared in the VNFD, and localization
                                  language selection can take place at
                                  instantiation time. The value shall comply
                                  with the format defined in IETF RFC 5646.
                                type: string
                              vnfcResourceInfo:
                                description: >
                                  Information about the virtualised compute and
                                  storage resources used by the VNFCs of the VNF
                                  instance.
                                type: array
                                items:
                                  description: "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n"
                                  type: object
                                  required:
                                    - id
                                    - vduId
                                    - computeResource
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vduId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    computeResource:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    storageResourceIds:
                                      description: >
                                        References to the VirtualStorage
                                        resources. The value refers to a
                                        VirtualStorageResourceInfo item in the
                                        VnfInstance.
                                      type: array
                                      items:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                    reservationId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfcCpInfo:
                                      description: >
                                        CPs of the VNFC instance. Shall be
                                        present when that particular CP of the
                                        VNFC instance is exposed as an external
                                        CP of the VNF instance or is connected
                                        to an external CP of the VNF
                                        instance.See note 2. May be present
                                        otherwise.
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - id
                                          - cpdId
                                        properties:
                                          id:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          cpdId:
                                            description: >
                                              Identifier of the VNF Virtual Link
                                              Descriptor (VLD) in the VNFD.
                                            type: string
                                          vnfExtCpId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          cpProtocolInfo:
                                            description: >
                                              Network protocol information for this
                                              CP. May be omitted if the VNFC CP is
                                              exposed as an external CP. See note 3.
                                            type: array
                                            items:
                                              description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                              type: object
                                              required:
                                                - layerProtocol
                                                - ipOverEthernet
                                              properties:
                                                layerProtocol:
                                                  description: >
                                                    The identifier of layer(s) and
                                                    protocol(s) associated to the network
                                                    address information. Permitted values:
                                                      - IP_OVER_ETHERNET

                                                    See note.
                                                  type: string
                                                  enum:
                                                    - IP_OVER_ETHERNET
                                                ipOverEthernet:
                                                  description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                  type: object
                                                  anyOf:
                                                    - required:
                                                        - macAddress
                                                    - required:
                                                        - ipAddresses
                                                  properties:
                                                    macAddress:
                                                      description: >
                                                        A MAC address. Representation: string
                                                        that consists of groups of two
                                                        hexadecimal digits, separated by hyphens
                                                        or colons.
                                                      type: string
                                                      format: MAC
                                                    segmentationId:
                                                      description: >
                                                        Identification of the network segment to
                                                        which the Cp instance connects to. See
                                                        note 3 and note 4.
                                                      type: string
                                                    ipAddresses:
                                                      description: >
                                                        Addresses assigned to the CP instance.
                                                        Each entry represents IP addresses
                                                        assigned by fixed or dynamic IP address
                                                        assignment per subnet. See note 1.
                                                      type: array
                                                      items:
                                                        type: object
                                                        required:
                                                          - type
                                                        oneOf:
                                                          - required:
                                                              - addresses
                                                          - required:
                                                              - addressRange
                                                        properties:
                                                          type:
                                                            description: >
                                                              The type of the IP addresses. Permitted
                                                              values: - IPV4 - IPV6
                                                            type: string
                                                            enum:
                                                              - IPV4
                                                              - IPV6
                                                          addresses:
                                                            description: >
                                                              Fixed addresses assigned (from the
                                                              subnet defined by "subnetId" if
                                                              provided). See note 2.
                                                            type: array
                                                            items:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                          isDynamic:
                                                            description: >
                                                              Indicates whether this set of addresses
                                                              was assigned dynamically (true) or based
                                                              on address information provided as input
                                                              from the API consumer (false). Shall be
                                                              present if "addresses" is present and
                                                              shall be absent otherwise.
                                                            type: boolean
                                                          addressRange:
                                                            description: >
                                                              An IP address range used, e.g., in case
                                                              of egress connections. Exactly one of
                                                              "addresses" or "addressRange" shall be
                                                              present. See note 2.
                                                            type: object
                                                            required:
                                                              - minAddress
                                                              - maxAddress
                                                            properties:
                                                              minAddress:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                              maxAddress:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                          subnetId:
                                                            description: >
                                                              An identifier maintained by the VIM or
                                                              other resource provider. It is expected
                                                              to be unique within the VIM instance.
                                                              Representation: string of variable
                                                              length.
                                                            type: string
                                                    type:
                                                      description: |
                                                        The type of the IP addresses
                                                      type: string
                                                      enum:
                                                        - PV4
                                                        - PV6
                                                    addresses:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    isDynamic:
                                                      description: >
                                                        Indicates whether this set of addresses
                                                        was assigned dynamically (true) or based
                                                        on address information provided as input
                                                        from the API consumer (false). Shall be
                                                        present if "addresses" is present and
                                                        shall be absent otherwise.
                                                      type: boolean
                                                    addressRange:
                                                      description: >
                                                        An IP address range used, e.g. in case
                                                        of egress connections. See note.
                                                      type: object
                                                      required:
                                                        - minAddress
                                                        - maxAddress
                                                      properties:
                                                        minAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        maxAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                    minAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    subnetId:
                                                      description: >
                                                        An identifier maintained by the VIM or
                                                        other resource provider. It is expected
                                                        to be unique within the VIM instance.
                                                        Representation: string of variable
                                                        length.
                                                      type: string
                                          parentCpId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          vnfLinkPortId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            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
                                    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
                              vnfVirtualLinkResourceInfo:
                                description: >
                                  Information about the virtualised network
                                  resources used by the VLs of the VNF instance.
                                  See note 5.
                                type: array
                                items:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by an internal VL instance in a
                                    VNF instance.
                                  type: object
                                  required:
                                    - id
                                    - vnfVirtualLinkDescId
                                    - networkResource
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfVirtualLinkDescId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    networkResource:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    reservationId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfLinkPorts:
                                      description: >
                                        Links ports of this VL. Shall be present
                                        when the linkPort is used for external
                                        connectivity by the VNF (refer to
                                        VnfLinkPortInfo). May be present
                                        otherwise.
                                      type: array
                                      items:
                                        type: object
                                        description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                        required:
                                          - id
                                          - resourceHandle
                                        properties:
                                          id:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          resourceHandle:
                                            description: >
                                              This type represents the information
                                              that allows addressing a virtualised
                                              resource that is used by a VNF instance
                                              or by an NS instance. Information about
                                              the resource is available from the VIM.
                                              NOTE: The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle.
                                            type: object
                                            required:
                                              - resourceId
                                            properties:
                                              vimId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceProviderId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                              vimLevelResourceType:
                                                description: >
                                                  Type of the resource in the scope of the
                                                  VIM, the WIM or the resource provider.
                                                  The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle. See note.
                                                type: string
                                          cpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          cpInstanceType:
                                            description: >
                                              Type of the CP instance that is
                                              identified by cpInstanceId. Shall be
                                              present if "cpInstanceId" is present,
                                              and shall be absent otherwise. Permitted
                                              values: * VNFC_CP: The link port is
                                              connected to a VNFC CP * EXT_CP: The
                                              link port is associated to an external
                                              CP. See note 1.
                                            type: string
                                            enum:
                                              - VNFC_CP
                                              - EXT_CP
                                          vipCpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          trunkResourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            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
                              virtualStorageResourceInfo:
                                description: >
                                  Information on the virtualised storage
                                  resource(s) used as storage for the VNF
                                  instance.
                                type: array
                                items:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance.
                                  type: object
                                  required:
                                    - id
                                    - virtualStorageDescId
                                    - storageResource
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    virtualStorageDescId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    storageResource:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    reservationId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      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
                          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
                          extensions:
                            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
                    pnfInfo:
                      description: >
                        Information on the PNF(s) that are part of the NS
                        instance.
                      type: array
                      items:
                        description: >
                          This type represents the information about a PNF that
                          is part of an NS instance.  It shall comply with the
                          provisions defined in Table 6.5.3.13-1.
                        type: object
                        required:
                          - pnfId
                          - pnfdId
                          - pnfdInfoId
                          - pnfProfileId
                        properties:
                          pnfId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          pnfName:
                            description: |
                              Name of the PNF.
                            type: string
                          pnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          pnfdInfoId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          pnfProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          cpInfo:
                            description: >
                              This type represents the information about the
                              external CP of the PNF.  It shall comply with the
                              provisions defined in Table 6.5.3.17-1.
                            type: object
                            required:
                              - cpInstanceId
                              - cpdId
                            properties:
                              cpInstanceId:
                                description: >
                                  An Identifier that is unique within respect to
                                  a PNF. Representation: string of variable
                                  length.
                                type: string
                              cpdId:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                              cpProtocolData:
                                description: >
                                  Parameters for configuring the network
                                  protocols on the CP.
                                type: array
                                items:
                                  description: |
                                    This type represents network protocol data.
                                  type: object
                                  required:
                                    - layerProtocol
                                  properties:
                                    layerProtocol:
                                      description: >
                                        Identifier of layer(s) and protocol(s).
                                        Permitted values: IP_OVER_ETHERNET.
                                      type: string
                                      enum:
                                        - IP_OVER_ETHERNET
                                    ipOverEthernet:
                                      description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - ipAddresses
                                        - required:
                                            - macAddress
                                      properties:
                                        macAddress:
                                          description: >
                                            A MAC address. Representation: string
                                            that consists of groups of two
                                            hexadecimal digits, separated by hyphens
                                            or colons.
                                          type: string
                                          format: MAC
                                        segmentationType:
                                          description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                          type: string
                                          enum:
                                            - VLAN
                                            - INHERIT
                                        segmentationId:
                                          description: >
                                            Identification of the network segment to
                                            which the CP instance connects to. See
                                            note 3 and note 4.
                                          type: string
                                        ipAddresses:
                                          description: >
                                            List of IP addresses to assign to the CP
                                            instance. Each entry represents IP
                                            address data for fixed or dynamic IP
                                            address assignment per subnet. If this
                                            attribute is not present, no IP address
                                            shall be assigned. See note 1.
                                          type: array
                                          items:
                                            type: object
                                            required:
                                              - type
                                            oneOf:
                                              - required:
                                                  - fixedAddresses
                                              - required:
                                                  - numDynamicAddresses
                                              - required:
                                                  - addressRange
                                            properties:
                                              type:
                                                description: >
                                                  The type of the IP addresses. Permitted
                                                  values:
                                                    - IPV4
                                                    - IPV6
                                                type: string
                                                enum:
                                                  - IPV4
                                                  - IPV6
                                              fixedAddresses:
                                                description: >
                                                  Fixed addresses to assign (from the
                                                  subnet defined by "subnetId" if
                                                  provided). Exactly one of
                                                  "fixedAddresses", "numDynamicAddresses"
                                                  or "ipAddressRange" shall be present.
                                                type: array
                                                items:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                              numDynamicAddresses:
                                                description: >
                                                  Number of dynamic addresses to assign
                                                  (from the subnet defined by "subnetId"
                                                  if provided). See note 2.
                                                type: integer
                                              addressRange:
                                                description: >
                                                  An IP address range to be used, e.g. in
                                                  case of egress connections. In case this
                                                  attribute is present, IP addresses from
                                                  the range will be used.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                    virtualLinkInfo:
                      description: >
                        Information on the VL(s) of the NS instance. This
                        attribute shall be present if the nsState attribute
                        value is INSTANTIATED and if the NS instance has
                        specified connectivity.
                      type: array
                      items:
                        description: "This type specifies the information about an NS VL instance.  It shall comply with the provisions defined in Table 6.5.3.53-1.\nNOTE:\tAs an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink shall be the same as the corresponding NsVirtualLink.\n"
                        type: object
                        required:
                          - id
                          - nsVirtualLinkDescId
                          - nsVirtualLinkProfileId
                        properties:
                          id:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                          nsVirtualLinkDescId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          nsVirtualLinkProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          resourceHandle:
                            description: >
                              Identifier(s) of the virtualised network
                              resource(s) and/or multi-site connectivity
                              service(s) realizing the VL instance. See note.
                            type: array
                            items:
                              description: >
                                This type represents the information that allows
                                addressing a virtualised resource that is used
                                by a VNF instance or by an NS instance.
                                Information about the resource is available from
                                the VIM. NOTE: The value set of the
                                "vimLevelResourceType" attribute is within the
                                scope of the VIM, the WIM or the resource
                                provider and can be used as information that
                                complements the ResourceHandle.
                              type: object
                              required:
                                - resourceId
                              properties:
                                vimId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceProviderId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceId:
                                  description: >
                                    An identifier maintained by the VIM or other
                                    resource provider. It is expected to be
                                    unique within the VIM instance.
                                    Representation: string of variable length.
                                  type: string
                                vimLevelResourceType:
                                  description: >
                                    Type of the resource in the scope of the
                                    VIM, the WIM or the resource provider. The
                                    value set of the "vimLevelResourceType"
                                    attribute is within the scope of the VIM,
                                    the WIM or the resource provider and can be
                                    used as information that complements the
                                    ResourceHandle. See note.
                                  type: string
                          linkPort:
                            description: >
                              Link ports of the VL instance. Cardinality of zero
                              indicates that no port has yet been created for
                              the VL instance.
                            type: array
                            items:
                              description: "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1. NOTE:\tWhen the NsVirtualLink, from which the present NsLinkPort is part of, is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtLinkPort shall be the same as the corresponding NsLinkPort.\n"
                              type: object
                              required:
                                - id
                                - resourceHandle
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                nsCpHandle:
                                  description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                                  type: object
                                  oneOf:
                                    - required:
                                        - vnfInstanceId
                                        - vnfExtCpInstanceId
                                    - required:
                                        - pnfInfoId
                                        - pnfExtCpInstanceId
                                    - required:
                                        - nsInstanceId
                                        - nsSapInstanceId
                                  properties:
                                    vnfInstanceId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfExtCpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    pnfInfoId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    pnfExtCpInstanceId:
                                      description: >
                                        An Identifier that is unique within
                                        respect to a PNF. Representation: string
                                        of variable length.
                                      type: string
                                    nsInstanceId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    nsSapInstanceId:
                                      description: >
                                        An identifier that is unique with
                                        respect to a NS. Representation: string
                                        of variable length.
                                      type: string
                    vnffgInfo:
                      description: |
                        Information on the VNFFG(s) of the NS instance.
                      type: array
                      items:
                        description: "Information on the VNFFG(s) of the NS instance. NOTE:\tIt indicates an exhaustive list of all the CP instances and SAP instances of the VNFFG.\n"
                        type: object
                        required:
                          - id
                          - vnffgdId
                          - vnfInstanceId
                          - pnfInfoId
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnffgdId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          vnfInstanceId:
                            description: >
                              Identifier(s) of the constituent VNF instance(s)
                              of this VNFFG instance.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          pnfdInfoId:
                            description: >
                              Identifier(s) of the constituent PNF instance(s)
                              of this VNFFG instance.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          nsVirtualLinkInfoId:
                            description: >
                              Identifier(s) of the constituent VL instance(s) of
                              this VNFFG instance.
                            type: array
                            items:
                              description: >
                                An identifier that is unique with respect to a
                                NS. Representation: string of variable length.
                              type: string
                          nsCpHandle:
                            description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                            type: object
                            oneOf:
                              - required:
                                  - vnfInstanceId
                                  - vnfExtCpInstanceId
                              - required:
                                  - pnfInfoId
                                  - pnfExtCpInstanceId
                              - required:
                                  - nsInstanceId
                                  - nsSapInstanceId
                            properties:
                              vnfInstanceId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfExtCpInstanceId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              pnfInfoId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              pnfExtCpInstanceId:
                                description: >
                                  An Identifier that is unique within respect to
                                  a PNF. Representation: string of variable
                                  length.
                                type: string
                              nsInstanceId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              nsSapInstanceId:
                                description: >
                                  An identifier that is unique with respect to a
                                  NS. Representation: string of variable length.
                                type: string
                    sapInfo:
                      description: |
                        Information on the SAP(s) of the NS instance.
                      type: array
                      items:
                        description: >
                          This type represents an SAP instance. It shall comply
                          with the provisions defined in Table 6.5.3.67-1.
                        type: object
                        required:
                          - id
                          - sapdId
                          - sapName
                          - sapProtocolInfo
                        properties:
                          id:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                          sapdId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          sapName:
                            description: |
                              Human readable name for the SAP instance.
                            type: string
                          description:
                            description: |
                              Human readable description for the SAP instance.
                            type: string
                          sapProtocolInfo:
                            description: |
                              Network protocol information for this SAP.
                            type: array
                            items:
                              description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                              type: object
                              required:
                                - layerProtocol
                                - ipOverEthernet
                              properties:
                                layerProtocol:
                                  description: >
                                    The identifier of layer(s) and protocol(s)
                                    associated to the network address
                                    information. Permitted values:
                                      - IP_OVER_ETHERNET

                                    See note.
                                  type: string
                                  enum:
                                    - IP_OVER_ETHERNET
                                ipOverEthernet:
                                  description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                  type: object
                                  anyOf:
                                    - required:
                                        - macAddress
                                    - required:
                                        - ipAddresses
                                  properties:
                                    macAddress:
                                      description: >
                                        A MAC address. Representation: string
                                        that consists of groups of two
                                        hexadecimal digits, separated by hyphens
                                        or colons.
                                      type: string
                                      format: MAC
                                    segmentationId:
                                      description: >
                                        Identification of the network segment to
                                        which the Cp instance connects to. See
                                        note 3 and note 4.
                                      type: string
                                    ipAddresses:
                                      description: >
                                        Addresses assigned to the CP instance.
                                        Each entry represents IP addresses
                                        assigned by fixed or dynamic IP address
                                        assignment per subnet. See note 1.
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - type
                                        oneOf:
                                          - required:
                                              - addresses
                                          - required:
                                              - addressRange
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          addresses:
                                            description: >
                                              Fixed addresses assigned (from the
                                              subnet defined by "subnetId" if
                                              provided). See note 2.
                                            type: array
                                            items:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                          isDynamic:
                                            description: >
                                              Indicates whether this set of addresses
                                              was assigned dynamically (true) or based
                                              on address information provided as input
                                              from the API consumer (false). Shall be
                                              present if "addresses" is present and
                                              shall be absent otherwise.
                                            type: boolean
                                          addressRange:
                                            description: >
                                              An IP address range used, e.g., in case
                                              of egress connections. Exactly one of
                                              "addresses" or "addressRange" shall be
                                              present. See note 2.
                                            type: object
                                            required:
                                              - minAddress
                                              - maxAddress
                                            properties:
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          subnetId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                    type:
                                      description: |
                                        The type of the IP addresses
                                      type: string
                                      enum:
                                        - PV4
                                        - PV6
                                    addresses:
                                      description: >
                                        An IPV4 or IPV6 address. Representation:
                                        In case of an IPV4 address, string that
                                        consists of four decimal integers
                                        separated by dots, each integer ranging
                                        from 0 to 255. In case of an IPV6
                                        address, string that consists of groups
                                        of zero to four hexadecimal digits,
                                        separated by colons.
                                      type: string
                                      format: IP
                                    isDynamic:
                                      description: >
                                        Indicates whether this set of addresses
                                        was assigned dynamically (true) or based
                                        on address information provided as input
                                        from the API consumer (false). Shall be
                                        present if "addresses" is present and
                                        shall be absent otherwise.
                                      type: boolean
                                    addressRange:
                                      description: >
                                        An IP address range used, e.g. in case
                                        of egress connections. See note.
                                      type: object
                                      required:
                                        - minAddress
                                        - maxAddress
                                      properties:
                                        minAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        maxAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                    minAddress:
                                      description: >
                                        An IPV4 or IPV6 address. Representation:
                                        In case of an IPV4 address, string that
                                        consists of four decimal integers
                                        separated by dots, each integer ranging
                                        from 0 to 255. In case of an IPV6
                                        address, string that consists of groups
                                        of zero to four hexadecimal digits,
                                        separated by colons.
                                      type: string
                                      format: IP
                                    maxAddress:
                                      description: >
                                        An IPV4 or IPV6 address. Representation:
                                        In case of an IPV4 address, string that
                                        consists of four decimal integers
                                        separated by dots, each integer ranging
                                        from 0 to 255. In case of an IPV6
                                        address, string that consists of groups
                                        of zero to four hexadecimal digits,
                                        separated by colons.
                                      type: string
                                      format: IP
                                    subnetId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                    nestedNsInstanceId:
                      description: >
                        Identifier of the nested NS(s) of the NS instance. See
                        note.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    vnfSnapshotInfoIds:
                      description: >
                        Identifier of information on VNF snapshots of VNF
                        instances that are part of this NS instance.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    nsState:
                      description: >
                        The state of the NS instance. Permitted values:
                        NOT_INSTANTIATED: The NS instance is terminated or not
                        instantiated. INSTANTIATED: The NS instance is
                        instantiated.
                      type: string
                      enum:
                        - NOT_INSTANTIATED
                        - INSTANTIATED
                    monitoringParameter:
                      description: >
                        Performance metrics tracked by the NFVO (e.g. for
                        auto-scaling purposes) as identified by the NS designer
                        in the NSD.
                      type: array
                      items:
                        description: >
                          This type represents a monitoring parameter that is
                          tracked by the NFVO, for example,  for auto-scaling
                          purposes. It shall comply with the provisions defined
                          in Table 6.5.3.68-1.
                        type: object
                        required:
                          - id
                          - performanceMetric
                        properties:
                          id:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          name:
                            description: >
                              Human readable name of the monitoring parameter,
                              as defined in the NSD.
                            type: string
                          performanceMetric:
                            description: >
                              Performance metric that is monitored. This
                              attribute shall contain the related  "Measurement
                              Name" value as defined in clause 7.2 of ETSI GS
                              NFV-IFA 027.
                            type: string
                    nsScaleStatus:
                      description: >
                        Status of each NS scaling aspect declared in the
                        applicable DF, how "big" the NS instance has been scaled
                        w.r.t. that aspect. This attribute shall be present if
                        the nsState attribute value is INSTANTIATED.
                      type: array
                      items:
                        description: >
                          This type represents the target NS Scale level for
                          each NS scaling aspect of the current deployment
                          flavor.
                        type: object
                        required:
                          - nsScalingAspectId
                          - nsScaleLevelId
                        properties:
                          nsScalingAspectId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          nsScaleLevelId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                    additionalAffinityOrAntiAffinityRule:
                      description: >
                        Information on the additional affinity or anti-affinity
                        rule from NS instantiation operation. Shall not conflict
                        with rules already specified in the NSD.
                      type: array
                      items:
                        description: >
                          This type describes the additional affinity or
                          anti-affinity rule applicable between the VNF
                          instances to be instantiated in the NS instantiation
                          operation request or between the VNF instances to be
                          instantiated in the NS instantiation operation request
                          and the existing VNF instances..
                        type: object
                        required:
                          - affinityOrAntiAffiinty
                          - scope
                        properties:
                          vnfdId:
                            description: >
                              Reference to a VNFD. When the VNFD which is not
                              used to instantiate VNF, it presents all VNF
                              instances of this type as the subjects of the
                              affinity or anti-affinity rule. The VNF instance
                              which the VNFD presents is not necessary as a part
                              of the NS to be instantiated.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          vnfProfileId:
                            description: >
                              Reference to a vnfProfile defined in the NSD. At
                              least one VnfProfile which is used to instantiate
                              VNF for the NS to be instantiated as the subject
                              of the affinity or anti-affinity rule shall be
                              present. When the VnfProfile which is not used to
                              instantiate VNF, it presents all VNF instances of
                              this type as the subjects of the affinity or
                              anti-affinity rule. The VNF instance which the
                              VnfProfile presents is not necessary as a part of
                              the NS to be instantiated.
                            type: array
                            items:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                          vnfInstanceId:
                            description: >
                              Reference to the existing VNF instance as the
                              subject of the affinity or anti-affinity rule. The
                              existing VNF instance is not necessary as a part
                              of the NS to be instantiated.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          affinityOrAntiAffiinty:
                            description: >
                              The type of the constraint. Permitted values:
                              AFFINITY ANTI_AFFINITY.
                            type: string
                            enum:
                              - AFFINITY
                              - ANTI_AFFINITY
                          scope:
                            description: >
                              Specifies the scope of the rule where the
                              placement constraint applies. Permitted values:
                              NFVI_POP ZONE ZONE_GROUP NFVI_NODE.
                            type: string
                            enum:
                              - NFVI_POP
                              - ZONE
                              - ZONE_GROUP
                              - NFVI_NODE
                    wanConnectionInfo:
                      description: >
                        Information about WAN related connectivity enabling
                        multi-site VLs.
                      type: array
                      items:
                        description: "This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,\nwhen the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.\nNOTE:\tEither a \"nsVirtualLinkInfoId\" or a \"vnfVirtualLinkResourceInfoId\" shall be provided, but not both.\n"
                        type: object
                        required:
                          - wanConnectionInfoId
                        oneOf:
                          - required:
                              - nsVirtualLinkInfoId
                          - required:
                              - vnfVirtualLinkResourceInfoId
                        properties:
                          wanConnectionInfoId:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                          nsVirtualLinkInfoId:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                          vnfVirtualLinkResourceInfoId:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                          protocolInfo:
                            description: >
                              This type provides protocol specific information
                              about the connectivity to the WAN of network
                              resources realizing

                              a VL, e.g., when the VL is deployed on several
                              sites and across a WAN, and the related multi-site
                              connectivity

                              service (MSCS) enabling the connectivity through
                              the WAN. This type supports providing information
                              about both

                              pre-provisioned WAN connectivity realized by
                              external entities to NFV-MANO but parts of such
                              connectivity is known

                              to the NFVO, as well as information about MSCS
                              created under NFV-MANO responsibility (i.e.,
                              connectivity is realized

                              when NFVO communicates with the WIM).  It shall
                              comply with the provisions defined in table
                              6.5.3.91-1.
                            type: object
                            properties:
                              mscsInfo:
                                description: >
                                  This type provides information about an
                                  already provisioned multi-site connectivity
                                  service (MSCS) deployed across a WAN. It shall
                                  comply with the provisions defined in Table
                                  6.5.3.82-1.
                                type: object
                                required:
                                  - mscsId
                                  - mscsType
                                properties:
                                  mscsId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  mscsName:
                                    description: |
                                      Human readable name of the MSCS.
                                    type: string
                                  mscsDescription:
                                    description: |
                                      Human readable description of the MSCS.
                                    type: string
                                  mscsType:
                                    description: "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n"
                                    type: string
                                    enum:
                                      - L2VPN
                                      - L3VPN
                                  mscsLayerProtocol:
                                    description: "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n"
                                    type: string
                                    enum:
                                      - EVPN_BGP_MPLS
                                      - EVPN_VPWS
                                      - VPLS_BGP
                                      - VPLS_LDP
                                      - VPWS
                                      - BGP_IP_VPN
                                  siteAccessProtectionSchemes:
                                    description: >
                                      Information to determine the proper MSCS
                                      endpoints configuration to fulfil certain
                                      resiliency/protection requirements, e.g.,
                                      by considering certain availability and
                                      redundancy of connectivity service
                                      endpoints in between NFVI-PoP and WAN.
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        locationConstraints:
                                          description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                                          type: object
                                          properties:
                                            countryCode:
                                              description: >
                                                The two-letter ISO 3166 country code in
                                                capital letters. Shall be present in
                                                case the "area" attribute is absent. May
                                                be absent if the "area" attribute is
                                                present (see note).
                                              type: string
                                            civicAddressElement:
                                              description: >
                                                Zero or more elements comprising the
                                                civic address. Shall be absent if the
                                                "area" attribute is present.
                                              type: array
                                              items:
                                                type: object
                                                required:
                                                  - caType
                                                  - caValue
                                                properties:
                                                  caType:
                                                    description: >
                                                      Describe the content type of caValue.
                                                      The value of caType shall comply with
                                                      Section 3.4 of IETF RFC 4776 [13].
                                                    type: integer
                                                  caValue:
                                                    description: >
                                                      Content of civic address element
                                                      corresponding to the caType. The format
                                                      caValue shall comply with Section 3.4 of
                                                      IETF RFC 4776 [13].
                                                    type: string
                                            area:
                                              description: >
                                                Geographic area. Shall be absent if the
                                                "civicAddressElement" attribute is
                                                present. The content of this attribute
                                                shall follow the provisions for the
                                                "Polygon" geometry object as defined in
                                                IETF RFC 7946, for which the "type"
                                                member shall be set to the value
                                                "Polygon". See note.
                                              type: object
                                        protectionScheme:
                                          description: "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n"
                                          type: string
                                          enum:
                                            - UNPROTECTED
                                            - ONE_TO_ONE
                                            - ONE_PLUS_ONE
                                            - ONE_TO_N
                                  mtuMscs:
                                    description: >
                                      Maximum Transmission Unit (MTU) that can
                                      be forwarded over the MSCS (in bytes).
                                      Default value is "1500" (bytes).
                                    type: number
                                  mscsEndpoints:
                                    description: >
                                      Information about the MSCS endpoints of
                                      the MSCS.
                                    type: array
                                    items:
                                      description: >
                                        This type provides encapsulates
                                        information about an MSCS endpoint of
                                        the MSCS. It shall comply with the
                                        provisions defined in table 6.5.3.83-1.
                                      type: object
                                      required:
                                        - mscsEndpointId
                                        - directionality
                                        - connectivityServiceEndpoinId
                                      properties:
                                        mscsEndpointId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        directionality:
                                          description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                          type: string
                                          enum:
                                            - INBOUND
                                            - OUTBOUND
                                            - BOTH
                                        connectivityServiceEndpoinId:
                                          description: >
                                            References the connectivity service
                                            endpoint configuration information
                                            applicable to support the MSCS endpoint.
                                            More than one connectivity service
                                            endpoint can be referred when endpoints
                                            are in LAG mode.
                                          type: array
                                          items:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                              connectivityServiceEndpoints:
                                description: >
                                  Configuration information about the network
                                  resources in the NFVI-PoP and their
                                  connectivity to the WAN.
                                type: array
                                items:
                                  description: >
                                    This type provides configuration data for
                                    the NFVI-PoP network gateway providing
                                    connectivity service endpoints. The
                                    connectivity service endpoints are used as
                                    endpoints by an MSCS. It shall comply with
                                    the provisions defined in Table 6.5.3.84-1.
                                  type: object
                                  required:
                                    - connectivityServiceEndpointId
                                    - vimId
                                  properties:
                                    connectivityServiceEndpointId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    siteToWanLayer2ProtocolData:
                                      description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                      type: object
                                      required:
                                        - layer2ConnectionInfo
                                      properties:
                                        layer2ConnectionInfo:
                                          description: >
                                            Layer 2 protocol parameters of the
                                            connectivity service endpoint (CSE).
                                          type: object
                                          required:
                                            - connectionType
                                            - interfaceType
                                            - interfaceTagging
                                            - encapsulationType
                                          properties:
                                            connectionType:
                                              description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                              type: string
                                              enum:
                                                - CSE
                                                - AGGREGATE_CSE
                                            interfaceType:
                                              description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                              type: string
                                              enum:
                                                - PARENT
                                                - LOGICAL
                                            interfaceTagging:
                                              description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                              type: string
                                              enum:
                                                - UNTAGGED
                                                - TAGGED
                                            encapsulationType:
                                              description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                              type: string
                                              enum:
                                                - ETH
                                                - VLAN
                                                - VXLAN
                                            vlanTaggingType:
                                              description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                              type: string
                                              enum:
                                                - DOT1Q
                                                - QINQ
                                                - QINANY
                                            wanSegmentIds:
                                              description: >
                                                Segment identifiers to pass on the
                                                tagged interface. Shall be present if
                                                encapsulationType="VLAN" or “VXLAN".
                                              type: object
                                              required:
                                                - wanSegmentIdValue
                                              properties:
                                                wanSegmentIdValue:
                                                  description: >
                                                    Identifier of the network segment (e.g.,
                                                    VLAN id or VNI).
                                                  type: string
                                                wanSegmentIdUpperRange:
                                                  description: >
                                                    Identifier of the upper range network
                                                    segment, in case the "wanSegmentIds" is
                                                    used to define a range.
                                                  type: string
                                            vxlanConfig:
                                              description: >
                                                Additional configuration needed when
                                                using VXLAN encapsulation. Shall be
                                                present if interfaceTagging="TAGGED" and
                                                encapsulationType="VXLAN".
                                              type: object
                                              required:
                                                - peerMode
                                              properties:
                                                peerMode:
                                                  description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                                  type: string
                                                  enum:
                                                    - STATIC
                                                    - BGP_EVPN
                                                peers:
                                                  description: >
                                                    List of IP addresses of VTEP peers when
                                                    using static mode.
                                                  type: array
                                                  items:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                            lagInterfaceData:
                                              description: >
                                                Information for setting up a LAG
                                                interface aggregating multiple
                                                connectivity service endpoints.
                                              type: object
                                              required:
                                                - aggregatedEndpoints
                                                - lacpActivation
                                                - lacpConfig
                                              properties:
                                                aggregatedEndpoints:
                                                  description: >
                                                    List of the connectivity service
                                                    endpoints that are to be aggregated.
                                                    Shall be present if
                                                    connectionType="AGGREGATE_CSE". In case
                                                    of aggregating connectivity service
                                                    endpoints, only one
                                                    SiteToWanLayer2ProtocolData shall be
                                                    provided for the whole set of aggregated
                                                    endpoints.
                                                  type: array
                                                  items:
                                                    description: >
                                                      An identifier with the intention of
                                                      being globally unique.
                                                    type: string
                                                lacpActivation:
                                                  description: >
                                                    Indicates whether to activate LACP on
                                                    the interface. If "TRUE", the LACP is to
                                                    be activated, or "FALSE" otherwise.
                                                    Default value is "FALSE".
                                                  type: boolean
                                                lacpConfig:
                                                  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
                                            layer2ControlProtocol:
                                              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
                                        mtuL2:
                                          description: >
                                            Maximum Transmission Unit (MTU) that can
                                            be forwarded at layer 2 (in bytes).
                                            Default value is "1500" (bytes).
                                          type: number
                                        virtualRoutingAndForwarding:
                                          description: >
                                            Configuration related to the L2 virtual
                                            routing and forwarding (MAC-VRF).
                                          type: object
                                          required:
                                            - macVrfName
                                          properties:
                                            macVrfName:
                                              description: >
                                                Name (or identifier) of the MAC-VRF
                                                instance.
                                              type: string
                                        forwardingConfig:
                                          description: >
                                            Information related to the forwarding of
                                            the VN in the NFVI-PoP to the
                                            connectivity service endpoint, if
                                            information about the VN to "stitch" is
                                            already known. . by the OSS/BSS. Shall
                                            not be provided otherwise, in which case
                                            the NFVO will infer the forwarding
                                            configuration based on the NS VL, or
                                            external VL, or externally-managed VL
                                            provisioning.
                                          type: object
                                          oneOf:
                                            - required:
                                                - networkResources
                                            - required:
                                                - vnSegmentIds
                                          properties:
                                            networkResources:
                                              description: >
                                                Reference to the VN resource to be
                                                forwarded into/from the MSCS. See note.
                                              type: array
                                              items:
                                                description: >
                                                  This type represents the information
                                                  that allows addressing a virtualised
                                                  resource that is used by a VNF instance
                                                  or by an NS instance. Information about
                                                  the resource is available from the VIM.
                                                  NOTE: The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle.
                                                type: object
                                                required:
                                                  - resourceId
                                                properties:
                                                  vimId:
                                                    description: >
                                                      An identifier with the intention of
                                                      being globally unique.
                                                    type: string
                                                  resourceProviderId:
                                                    description: >
                                                      An identifier with the intention of
                                                      being globally unique.
                                                    type: string
                                                  resourceId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                                  vimLevelResourceType:
                                                    description: >
                                                      Type of the resource in the scope of the
                                                      VIM, the WIM or the resource provider.
                                                      The value set of the
                                                      "vimLevelResourceType" attribute is
                                                      within the scope of the VIM, the WIM or
                                                      the resource provider and can be used as
                                                      information that complements the
                                                      ResourceHandle. See note.
                                                    type: string
                                            vnSegmentIds:
                                              description: >
                                                Identifiers of the network segments of
                                                the VN resources to be forwarded
                                                into/from the MSCS.
                                              type: object
                                              required:
                                                - vnSegmentIdValue
                                              properties:
                                                vnSegmentIdValue:
                                                  description: |
                                                    Identifier of the network segment.
                                                  type: string
                                                vnSegmentIdUpperRange:
                                                  description: >
                                                    Identifier of the upper range network
                                                    segment, in case the "vnSegmentIds" is
                                                    used to define a range.
                                                  type: string
                                    siteToWanLayer3ProtocolData:
                                      description: >
                                        This type provides information about
                                        Layer 3 protocol specific information
                                        for the stitching of the intra-site VN
                                        to the multi-site connectivity service
                                        over the WAN. It shall comply with the
                                        provisions defined in Table 6.5.3.86-1.
                                      type: object
                                      required:
                                        - routingInfo
                                      properties:
                                        logicalInterfaceIpAddress:
                                          description: >
                                            IP addressing information associated to
                                            a logical interface. Shall be present if
                                            the "interfaceType" of the
                                            SiteToWanLayer2ProtocolData is equal to
                                            "LOGICAL".
                                          type: object
                                          required:
                                            - ipAddress
                                            - associatedSegmentId
                                          properties:
                                            ipAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            associatedSegmentId:
                                              description: >
                                                The associated segment identifier that
                                                has triggered the creation of the
                                                logical interface. The value shall be
                                                one of the values listed in the
                                                "wanSegmentIds" of the
                                                "siteToWanLayer2ProtocolData".
                                              type: string
                                        routingInfo:
                                          description: >
                                            The routing information that is
                                            activated on the connectivity service
                                            endpoint. More than one "routingInfo" is
                                            allowed to enable stacking different
                                            routing protocols (e.g., one routing
                                            protocol for IPv4 and another one for
                                            IPv6).
                                          type: object
                                          required:
                                            - routingProtocol
                                            - routingAddressFamily
                                          properties:
                                            routingProtocol:
                                              description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                              type: string
                                              enum:
                                                - BGP
                                                - RIP
                                                - OSPF
                                                - STATIC
                                                - DIRECT
                                                - VRRP
                                            staticRouting:
                                              description: >
                                                Defines a static route. It shall only be
                                                present if the routingProtocol="STATIC".
                                              type: object
                                              required:
                                                - ipVersion
                                                - ipPrefix
                                                - prefixSize
                                                - nextHop
                                              properties:
                                                ipVersion:
                                                  description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                ipPrefix:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                prefixSize:
                                                  description: |
                                                    The IP prefix size.
                                                  type: number
                                                nextHop:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            routingAddressFamily:
                                              description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPv6
                                            ospfRouting:
                                              description: >
                                                Defines parameters for OSPF routing. It
                                                shall only be present if the
                                                routingProtocol="OSPF".
                                              type: object
                                              required:
                                                - areaId
                                              properties:
                                                areaId:
                                                  description: >
                                                    The routing area identifier, e.g., a
                                                    number or an IP address.
                                                  type: string
                                            bgpRouting:
                                              description: >
                                                Defines parameters for BGP routing. It
                                                shall only be present if the
                                                routingProtocol="BGP".
                                              type: object
                                              required:
                                                - bgpAs
                                              properties:
                                                bgpAs:
                                                  description: >
                                                    The Autonomous System (AS)
                                                    identification applicable to the BGP
                                                    routing info entry.
                                                  type: object
                                                bgpNeighbour:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                bgpAdditionalParam:
                                                  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
                                            routeMapsDistribution:
                                              description: >
                                                Maps of routes that are permitted or
                                                denied for redistribution.
                                              type: object
                                              required:
                                                - policy
                                                - sequence
                                                - matchAndSetRule
                                              properties:
                                                policy:
                                                  description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                                  type: string
                                                  enum:
                                                    - PERMIT
                                                    - DENY
                                                sequence:
                                                  description: >
                                                    Sequence or index number assigned to the
                                                    route-map.
                                                  type: number
                                                matchAndSetRule:
                                                  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
                                        mtuL3:
                                          description: >
                                            Maximum Transmission Unit (MTU) that can
                                            be forwarded at layer 3 (in bytes).
                                            Default value is "1500" (bytes).
                                          type: number
                                        virtualRoutingAndForwarding:
                                          description: >
                                            Configuration related to the virtual
                                            routing and forwarding (VRF).
                                          type: object
                                          required:
                                            - vrfName
                                          properties:
                                            vrfName:
                                              description: >
                                                Name (or identifier) of the VRF
                                                instance.
                                              type: string
                                        bfdConfig:
                                          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
                    _links:
                      type: object
                      description: Links to resources related to this resource.
                      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
                        nestedNsInstances:
                          description: |
                            Links to resources related to this notification.
                          type: array
                          items:
                            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
                        vnfSnapshotInfos:
                          description: >
                            Links to the VNF snapshots associated to VNF
                            instances which are part of this NS instance.
                          type: array
                          items:
                            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
                        instantiate:
                          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
                        terminate:
                          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
                        update:
                          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
                        scale:
                          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
                        heal:
                          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
    post:
      description: >
        The POST method creates a new NS instance resource. See clause
        6.4.2.3.1.
      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: |
          The NS creation parameters, as defined in clause 6.5.2.7.
        content:
          application/json:
            schema:
              type: object
              required:
                - nsdId
                - nsName
                - nsDescription
              properties:
                nsdId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                nsName:
                  description: |
                    Human-readable name of the NS instance to be created.
                  type: string
                nsDescription:
                  description: |
                    Human-readable description of the NS instance to be created.
                  type: string
        required: true
      responses:
        '201':
          description: >
            201 Created

            Shall be returned when a new "Individual NS instance" resource and
            the associated NS instance identifier has

            been created successfully. The response body shall contain a
            representation of the created NS instance, as

            defined in clause 6.5.2.10. The HTTP response shall include a
            "Location" HTTP header that contains the resource

            URI of the created NS instance.
          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:
                description: "This type represents a response for Query NS operation.  It shall comply with the provisions defined in Table 6.5.2.10-1.\nNOTE 1:\tIf the \"nsState\" attribute is INSTANTIATED, at least either one\n          \"vnfInstance\" attribute or one \"nestedNsInstanceId\" attribute shall be present.\nNOTE 2:\tThe “priority” attribute of the NS instance is configured in the NSD in the NsDf structure.\n          The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility.\n          The \"zero\" value expresses the highest priority and the fact that the NS instance based on this DF cannot be\n          pre-empted during resource allocation.\nNOTE 3:\tExamples for the usage of priority include conflict resolution in case of resource shortage\n"
                type: object
                required:
                  - id
                  - nsInstanceName
                  - nsInstanceDescription
                  - nsdId
                  - nsdInfoId
                  - nsState
                  - _links
                properties:
                  id:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  nsInstanceName:
                    description: |
                      Human readable name of the NS instance.
                    type: string
                  nsInstanceDescription:
                    description: |
                      Human readable description of the NS instance.
                    type: string
                  nsdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  nsdInfoId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  flavourId:
                    description: >
                      An identifier that is unique within a NS descriptor.
                      Representation: string of variable length.
                    type: string
                  priority:
                    description: |
                      A number as defined in IETF RFC 8259.
                    type: number
                  vnfInstance:
                    description: >
                      Information on constituent VNF(s) of the NS instance. See
                      note 1.
                    type: array
                    items:
                      description: >
                        This type represents a VNF instance. It shall comply
                        with the provisions defined in table 6.5.3.57-1.

                        NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides
                        examples illustrating the relationship among the 
                              different run-time information elements (CP, VL and link ports) used to represent the connectivity 
                              of a VNF.

                        NOTE 1: Modifying the value of this attribute shall not
                        be performed when conflicts exist between the 
                                previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to 
                                the previous VNFD in other aspects than merely referencing to other VNF software images. 
                                In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, 
                                the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall 
                                be kept in sync with the values in the VNFD.
                        NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and
                        format of the VNFD based on TOSCA specifications. NOTE
                        3: VNF configurable properties are sometimes also
                        referred to as configuration parameters applicable 
                                to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, 
                                some are set prior to instantiation (are part of initial configuration) and can be modified later, 
                                and others can be set only after instantiation. The applicability of certain configuration may depend 
                                on the VNF and the required operation of the VNF at a certain point in time.
                        NOTE 4: It is possible to have several
                        ExtManagedVirtualLinkInfo for the same VNF internal VL
                        in case of a 
                                multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same 
                                VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed 
                                multi-site VL instance (refer to clause 6.5.3.59).
                        NOTE 5: Even though externally-managed internal VLs are
                        also used for VNF-internal connectivity, they shall not 
                                be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
                      type: object
                      required:
                        - id
                        - vnfdId
                        - vnfProvider
                        - vnfProductName
                        - vnfSoftwareVersion
                        - vnfdVersion
                        - vnfPkgId
                        - instantiationState
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfInstanceName:
                          description: >
                            Name of the VNF instance. Modifications to this
                            attribute can be requested using the
                            "ModifyVnfInfoData" structure.
                          type: string
                        vnfInstanceDescription:
                          description: >
                            Human-readable description of the VNF instance.
                            Modifications to this attribute can be requested
                            using the "ModifyVnfInfoData" structure.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfProvider:
                          description: >
                            Provider of the VNF and the VNFD. The value is
                            copied from the VNFD.
                          type: string
                        vnfProductName:
                          description: >
                            Name to identify the VNF Product. The value is
                            copied from the VNFD.
                          type: string
                        vnfSoftwareVersion:
                          description: >
                            A Version. Representation: string of variable
                            length.
                          type: string
                        vnfdVersion:
                          description: >
                            A Version. Representation: string of variable
                            length.
                          type: string
                        vnfPkgId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfConfigurableProperties:
                          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
                        vimId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        instantiationState:
                          description: >
                            The instantiation state of the VNF.

                            Permitted values: - NOT_INSTANTIATED: The VNF
                            instance is terminated or not instantiated. -
                            INSTANTIATED: The VNF instance is instantiated.
                          type: string
                          enum:
                            - NOT_INSTANTIATED
                            - INSTANTIATED
                        instantiatedVnfInfo:
                          description: >
                            Information specific to an instantiated VNF
                            instance. This attribute shall be present if the
                            instantiateState attribute value is INSTANTIATED.
                          type: object
                          required:
                            - flavourId
                            - vnfState
                            - extCpInfo
                          properties:
                            flavourId:
                              description: >
                                Identifier of the VNF Virtual Link Descriptor
                                (VLD) in the VNFD.
                              type: string
                            vnfState:
                              type: string
                              enum:
                                - STARTED
                                - STOPPED
                            scaleStatus:
                              description: >
                                Scale status of the VNF, one entry per aspect.
                                Represents for every scaling aspect how "big"
                                the VNF has been scaled w.r.t. that aspect.
                              type: array
                              items:
                                required:
                                  - aspectId
                                  - scaleLevel
                                type: object
                                properties:
                                  aspectId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  scaleLevel:
                                    description: >
                                      Indicates the scale level. The minimum
                                      value shall be 0 and the maximum value
                                      shall be <= maxScaleLevel as described in
                                      the VNFD.
                                    type: integer
                            maxScaleLevels:
                              description: >
                                Maximum allowed scale levels of the VNF, one
                                entry per aspect. This attribute shall be
                                present if the VNF supports scaling.
                              type: array
                              items:
                                required:
                                  - aspectId
                                  - scaleLevel
                                type: object
                                properties:
                                  aspectId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  scaleLevel:
                                    description: >
                                      Indicates the scale level. The minimum
                                      value shall be 0 and the maximum value
                                      shall be <= maxScaleLevel as described in
                                      the VNFD.
                                    type: integer
                            extCpInfo:
                              description: >
                                Information about the external CPs exposed by
                                the VNF instance. When trunking is enabled, the
                                list of entries includes both, external CPs
                                corresponding to parent ports of a trunk, and
                                external CPs associated to sub-ports of a trunk.
                              type: array
                              minItems: 1
                              items:
                                description: "This type represents information about an external CP of a VNF. It shall comply  with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n"
                                type: object
                                required:
                                  - id
                                  - cpdId
                                oneOf:
                                  - required:
                                      - associatedVnfcCpId
                                  - required:
                                      - associatedVnfVirtualLinkId
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  cpConfigId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  cpProtocolInfo:
                                    description: |
                                      Network protocol information for this CP.
                                    type: array
                                    minItems: 1
                                    items:
                                      description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                        - ipOverEthernet
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information. Permitted values:
                                              - IP_OVER_ETHERNET

                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                        ipOverEthernet:
                                          description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - macAddress
                                            - required:
                                                - ipAddresses
                                          properties:
                                            macAddress:
                                              description: >
                                                A MAC address. Representation: string
                                                that consists of groups of two
                                                hexadecimal digits, separated by hyphens
                                                or colons.
                                              type: string
                                              format: MAC
                                            segmentationId:
                                              description: >
                                                Identification of the network segment to
                                                which the Cp instance connects to. See
                                                note 3 and note 4.
                                              type: string
                                            ipAddresses:
                                              description: >
                                                Addresses assigned to the CP instance.
                                                Each entry represents IP addresses
                                                assigned by fixed or dynamic IP address
                                                assignment per subnet. See note 1.
                                              type: array
                                              items:
                                                type: object
                                                required:
                                                  - type
                                                oneOf:
                                                  - required:
                                                      - addresses
                                                  - required:
                                                      - addressRange
                                                properties:
                                                  type:
                                                    description: >
                                                      The type of the IP addresses. Permitted
                                                      values: - IPV4 - IPV6
                                                    type: string
                                                    enum:
                                                      - IPV4
                                                      - IPV6
                                                  addresses:
                                                    description: >
                                                      Fixed addresses assigned (from the
                                                      subnet defined by "subnetId" if
                                                      provided). See note 2.
                                                    type: array
                                                    items:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                  isDynamic:
                                                    description: >
                                                      Indicates whether this set of addresses
                                                      was assigned dynamically (true) or based
                                                      on address information provided as input
                                                      from the API consumer (false). Shall be
                                                      present if "addresses" is present and
                                                      shall be absent otherwise.
                                                    type: boolean
                                                  addressRange:
                                                    description: >
                                                      An IP address range used, e.g., in case
                                                      of egress connections. Exactly one of
                                                      "addresses" or "addressRange" shall be
                                                      present. See note 2.
                                                    type: object
                                                    required:
                                                      - minAddress
                                                      - maxAddress
                                                    properties:
                                                      minAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      maxAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                  subnetId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                            type:
                                              description: |
                                                The type of the IP addresses
                                              type: string
                                              enum:
                                                - PV4
                                                - PV6
                                            addresses:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            isDynamic:
                                              description: >
                                                Indicates whether this set of addresses
                                                was assigned dynamically (true) or based
                                                on address information provided as input
                                                from the API consumer (false). Shall be
                                                present if "addresses" is present and
                                                shall be absent otherwise.
                                              type: boolean
                                            addressRange:
                                              description: >
                                                An IP address range used, e.g. in case
                                                of egress connections. See note.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                  extLinkPortId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    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
                                  associatedVnfcCpId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  associatedVipCpId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  associatedVnfVirtualLinkId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                            vipCpInfo:
                              description: >
                                VIP CPs that are part of the VNF instance. Shall
                                be present when that particular VIP CP of the
                                VNFC instance is associated to an external CP of
                                the VNF instance. May be present otherwise.
                              type: array
                              items:
                                description: >
                                  This type provides information related to
                                  virtual IP (VIP) CP. It shall comply with the
                                  provisions defined in table 6.5.3.97 1.
                                  NOTE:   It is possible that there is no
                                  associated VnfcCp because the VIP CP is
                                  available but not associated yet.
                                type: object
                                required:
                                  - cpInstanceId
                                  - cpdId
                                properties:
                                  cpInstanceId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfExtCpId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  cpProtocolInfo:
                                    description: >
                                      Protocol information for this CP. There
                                      shall be one cpProtocolInfo for layer 3.
                                      There may be one cpProtocolInfo for layer
                                      2.
                                    type: array
                                    items:
                                      description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                        - ipOverEthernet
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information. Permitted values:
                                              - IP_OVER_ETHERNET

                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                        ipOverEthernet:
                                          description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - macAddress
                                            - required:
                                                - ipAddresses
                                          properties:
                                            macAddress:
                                              description: >
                                                A MAC address. Representation: string
                                                that consists of groups of two
                                                hexadecimal digits, separated by hyphens
                                                or colons.
                                              type: string
                                              format: MAC
                                            segmentationId:
                                              description: >
                                                Identification of the network segment to
                                                which the Cp instance connects to. See
                                                note 3 and note 4.
                                              type: string
                                            ipAddresses:
                                              description: >
                                                Addresses assigned to the CP instance.
                                                Each entry represents IP addresses
                                                assigned by fixed or dynamic IP address
                                                assignment per subnet. See note 1.
                                              type: array
                                              items:
                                                type: object
                                                required:
                                                  - type
                                                oneOf:
                                                  - required:
                                                      - addresses
                                                  - required:
                                                      - addressRange
                                                properties:
                                                  type:
                                                    description: >
                                                      The type of the IP addresses. Permitted
                                                      values: - IPV4 - IPV6
                                                    type: string
                                                    enum:
                                                      - IPV4
                                                      - IPV6
                                                  addresses:
                                                    description: >
                                                      Fixed addresses assigned (from the
                                                      subnet defined by "subnetId" if
                                                      provided). See note 2.
                                                    type: array
                                                    items:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                  isDynamic:
                                                    description: >
                                                      Indicates whether this set of addresses
                                                      was assigned dynamically (true) or based
                                                      on address information provided as input
                                                      from the API consumer (false). Shall be
                                                      present if "addresses" is present and
                                                      shall be absent otherwise.
                                                    type: boolean
                                                  addressRange:
                                                    description: >
                                                      An IP address range used, e.g., in case
                                                      of egress connections. Exactly one of
                                                      "addresses" or "addressRange" shall be
                                                      present. See note 2.
                                                    type: object
                                                    required:
                                                      - minAddress
                                                      - maxAddress
                                                    properties:
                                                      minAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      maxAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                  subnetId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                            type:
                                              description: |
                                                The type of the IP addresses
                                              type: string
                                              enum:
                                                - PV4
                                                - PV6
                                            addresses:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            isDynamic:
                                              description: >
                                                Indicates whether this set of addresses
                                                was assigned dynamically (true) or based
                                                on address information provided as input
                                                from the API consumer (false). Shall be
                                                present if "addresses" is present and
                                                shall be absent otherwise.
                                              type: boolean
                                            addressRange:
                                              description: >
                                                An IP address range used, e.g. in case
                                                of egress connections. See note.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                  associatedVnfcCpIds:
                                    description: >
                                      Identifiers of the VnfcCps that share the
                                      virtual IP addresse allocated to the VIP
                                      CP instance. See note.
                                    type: array
                                    items:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                  vnfLinkPortId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  metadata:
                                    description: >
                                      Allows the OSS/BSS to provide additional
                                      parameter(s) to the termination process at
                                      the NS level.
                                    type: array
                                    items:
                                      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
                            extVirtualLinkInfo:
                              description: >
                                Information about the external VLs the VNF
                                instance is connected to.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  extLinkPorts:
                                    description: |
                                      Link ports of this VL.
                                    type: array
                                    items:
                                      description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                      type: object
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        secondaryCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                  currentVnfExtCpData:
                                    description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                    type: object
                                    required:
                                      - cpdId
                                    properties:
                                      cpdId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      cpConfig:
                                        description: >
                                          Map of instance data that need to be
                                          configured on the CP instances  created
                                          from the respective CPD. The key of the
                                          map which identifies  the individual
                                          VnfExtCpConfig entries is of type
                                          "IdentifierInVnf"  and is managed by the
                                          API consumer. The entries shall be
                                          applied by  the VNFM according to the
                                          rules of JSON Merge Patch (see IETF RFC
                                          7396 [11]).  See notes 2, 3 and 4.
                                        type: object
                                        additionalProperties:
                                          description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - linkPortId
                                            - required:
                                                - cpProtocolData
                                          properties:
                                            parentCpConfigId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            linkPortId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            createExtLinkPort:
                                              description: >
                                                Indicates the need to create a dedicated
                                                link port for the external CP. If set to
                                                True, a link port is created. If set to
                                                False, no link port is created. This
                                                attribute is only applicable for
                                                external CP instances without a floating
                                                IP address that expose a VIP CP instance
                                                for which a dedicated IP address is
                                                allocated. It shall be present in that
                                                case and shall be absent otherwise.
                                              type: boolean
                                            cpProtocolData:
                                              description: >
                                                Parameters for configuring the network
                                                protocols on the link port that connects
                                                the CP to a VL. See note 1.
                                              type: array
                                              items:
                                                description: >
                                                  This type represents network protocol
                                                  data.
                                                type: object
                                                required:
                                                  - layerProtocol
                                                properties:
                                                  layerProtocol:
                                                    description: >
                                                      Identifier of layer(s) and protocol(s).
                                                      Permitted values: IP_OVER_ETHERNET.
                                                    type: string
                                                    enum:
                                                      - IP_OVER_ETHERNET
                                                  ipOverEthernet:
                                                    description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                    type: object
                                                    anyOf:
                                                      - required:
                                                          - ipAddresses
                                                      - required:
                                                          - macAddress
                                                    properties:
                                                      macAddress:
                                                        description: >
                                                          A MAC address. Representation: string
                                                          that consists of groups of two
                                                          hexadecimal digits, separated by hyphens
                                                          or colons.
                                                        type: string
                                                        format: MAC
                                                      segmentationType:
                                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                        type: string
                                                        enum:
                                                          - VLAN
                                                          - INHERIT
                                                      segmentationId:
                                                        description: >
                                                          Identification of the network segment to
                                                          which the CP instance connects to. See
                                                          note 3 and note 4.
                                                        type: string
                                                      ipAddresses:
                                                        description: >
                                                          List of IP addresses to assign to the CP
                                                          instance. Each entry represents IP
                                                          address data for fixed or dynamic IP
                                                          address assignment per subnet. If this
                                                          attribute is not present, no IP address
                                                          shall be assigned. See note 1.
                                                        type: array
                                                        items:
                                                          type: object
                                                          required:
                                                            - type
                                                          oneOf:
                                                            - required:
                                                                - fixedAddresses
                                                            - required:
                                                                - numDynamicAddresses
                                                            - required:
                                                                - addressRange
                                                          properties:
                                                            type:
                                                              description: >
                                                                The type of the IP addresses. Permitted
                                                                values:
                                                                  - IPV4
                                                                  - IPV6
                                                              type: string
                                                              enum:
                                                                - IPV4
                                                                - IPV6
                                                            fixedAddresses:
                                                              description: >
                                                                Fixed addresses to assign (from the
                                                                subnet defined by "subnetId" if
                                                                provided). Exactly one of
                                                                "fixedAddresses", "numDynamicAddresses"
                                                                or "ipAddressRange" shall be present.
                                                              type: array
                                                              items:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                            numDynamicAddresses:
                                                              description: >
                                                                Number of dynamic addresses to assign
                                                                (from the subnet defined by "subnetId"
                                                                if provided). See note 2.
                                                              type: integer
                                                            addressRange:
                                                              description: >
                                                                An IP address range to be used, e.g. in
                                                                case of egress connections. In case this
                                                                attribute is present, IP addresses from
                                                                the range will be used.
                                                              type: object
                                                              required:
                                                                - minAddress
                                                                - maxAddress
                                                              properties:
                                                                minAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                                maxAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                            subnetId:
                                                              description: >
                                                                An identifier maintained by the VIM or
                                                                other resource provider. It is expected
                                                                to be unique within the VIM instance.
                                                                Representation: string of variable
                                                                length.
                                                              type: string
                            extManagedVirtualLinkInfo:
                              description: >
                                Information about the externally-managed
                                internal VLs of the VNF instance.  See note 4
                                and note 5.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - vnfVirtualLinkDescId
                                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
                                  vnfVirtualLinkDescId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  networkResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  vnfLinkPorts:
                                    description: |
                                      Link ports of this VL.
                                    type: array
                                    items:
                                      type: object
                                      description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpInstanceType:
                                          description: >
                                            Type of the CP instance that is
                                            identified by cpInstanceId. Shall be
                                            present if "cpInstanceId" is present,
                                            and shall be absent otherwise. Permitted
                                            values: * VNFC_CP: The link port is
                                            connected to a VNFC CP * EXT_CP: The
                                            link port is associated to an external
                                            CP. See note 1.
                                          type: string
                                          enum:
                                            - VNFC_CP
                                            - EXT_CP
                                        vipCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                  extManagedMultisiteVirtualLinkId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                            monitoringParameters:
                              description: >
                                Performance metrics tracked by the VNFM (e.g.
                                for  auto-scaling purposes) as identified by the
                                VNF  provider in the VNFD.
                              type: array
                              items:
                                description: >
                                  This type represents a monitoring parameter
                                  that is tracked by the VNFM, for example,  for
                                  auto-scaling purposes. It shall comply with
                                  the provisions defined in Table 6.5.3.69-1.
                                type: object
                                required:
                                  - id
                                  - performanceMetric
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique within a NS
                                      descriptor. Representation: string of
                                      variable length.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  name:
                                    description: >
                                      Human readable name of the monitoring
                                      parameter, as defined in the VNFD.
                                    type: string
                                  performanceMetric:
                                    description: >
                                      Performance metric that is monitored. This
                                      attribute shall contain the related 
                                      "Measurement Name" value as defined in
                                      clause 7.2 of ETSI GS NFV-IFA 027.
                                    type: string
                            localizationLanguage:
                              description: >
                                Information about localization language of the
                                VNF (includes e.g. strings in the VNFD). The
                                localization languages supported by a VNF can be
                                declared in the VNFD, and localization language
                                selection can take place at instantiation time.
                                The value shall comply with the format defined
                                in IETF RFC 5646.
                              type: string
                            vnfcResourceInfo:
                              description: >
                                Information about the virtualised compute and
                                storage resources used by the VNFCs of the VNF
                                instance.
                              type: array
                              items:
                                description: "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n"
                                type: object
                                required:
                                  - id
                                  - vduId
                                  - computeResource
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vduId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  computeResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  storageResourceIds:
                                    description: >
                                      References to the VirtualStorage
                                      resources. The value refers to a
                                      VirtualStorageResourceInfo item in the
                                      VnfInstance.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                  reservationId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfcCpInfo:
                                    description: >
                                      CPs of the VNFC instance. Shall be present
                                      when that particular CP of the VNFC
                                      instance is exposed as an external CP of
                                      the VNF instance or is connected to an
                                      external CP of the VNF instance.See note
                                      2. May be present otherwise.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - id
                                        - cpdId
                                      properties:
                                        id:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpdId:
                                          description: >
                                            Identifier of the VNF Virtual Link
                                            Descriptor (VLD) in the VNFD.
                                          type: string
                                        vnfExtCpId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpProtocolInfo:
                                          description: >
                                            Network protocol information for this
                                            CP. May be omitted if the VNFC CP is
                                            exposed as an external CP. See note 3.
                                          type: array
                                          items:
                                            description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                            type: object
                                            required:
                                              - layerProtocol
                                              - ipOverEthernet
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  The identifier of layer(s) and
                                                  protocol(s) associated to the network
                                                  address information. Permitted values:
                                                    - IP_OVER_ETHERNET

                                                  See note.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                              ipOverEthernet:
                                                description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                type: object
                                                anyOf:
                                                  - required:
                                                      - macAddress
                                                  - required:
                                                      - ipAddresses
                                                properties:
                                                  macAddress:
                                                    description: >
                                                      A MAC address. Representation: string
                                                      that consists of groups of two
                                                      hexadecimal digits, separated by hyphens
                                                      or colons.
                                                    type: string
                                                    format: MAC
                                                  segmentationId:
                                                    description: >
                                                      Identification of the network segment to
                                                      which the Cp instance connects to. See
                                                      note 3 and note 4.
                                                    type: string
                                                  ipAddresses:
                                                    description: >
                                                      Addresses assigned to the CP instance.
                                                      Each entry represents IP addresses
                                                      assigned by fixed or dynamic IP address
                                                      assignment per subnet. See note 1.
                                                    type: array
                                                    items:
                                                      type: object
                                                      required:
                                                        - type
                                                      oneOf:
                                                        - required:
                                                            - addresses
                                                        - required:
                                                            - addressRange
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values: - IPV4 - IPV6
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        addresses:
                                                          description: >
                                                            Fixed addresses assigned (from the
                                                            subnet defined by "subnetId" if
                                                            provided). See note 2.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                        isDynamic:
                                                          description: >
                                                            Indicates whether this set of addresses
                                                            was assigned dynamically (true) or based
                                                            on address information provided as input
                                                            from the API consumer (false). Shall be
                                                            present if "addresses" is present and
                                                            shall be absent otherwise.
                                                          type: boolean
                                                        addressRange:
                                                          description: >
                                                            An IP address range used, e.g., in case
                                                            of egress connections. Exactly one of
                                                            "addresses" or "addressRange" shall be
                                                            present. See note 2.
                                                          type: object
                                                          required:
                                                            - minAddress
                                                            - maxAddress
                                                          properties:
                                                            minAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                            maxAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                        subnetId:
                                                          description: >
                                                            An identifier maintained by the VIM or
                                                            other resource provider. It is expected
                                                            to be unique within the VIM instance.
                                                            Representation: string of variable
                                                            length.
                                                          type: string
                                                  type:
                                                    description: |
                                                      The type of the IP addresses
                                                    type: string
                                                    enum:
                                                      - PV4
                                                      - PV6
                                                  addresses:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  isDynamic:
                                                    description: >
                                                      Indicates whether this set of addresses
                                                      was assigned dynamically (true) or based
                                                      on address information provided as input
                                                      from the API consumer (false). Shall be
                                                      present if "addresses" is present and
                                                      shall be absent otherwise.
                                                    type: boolean
                                                  addressRange:
                                                    description: >
                                                      An IP address range used, e.g. in case
                                                      of egress connections. See note.
                                                    type: object
                                                    required:
                                                      - minAddress
                                                      - maxAddress
                                                    properties:
                                                      minAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      maxAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  subnetId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                        parentCpId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        vnfLinkPortId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          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
                                  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
                            vnfVirtualLinkResourceInfo:
                              description: >
                                Information about the virtualised network
                                resources used by the VLs of the VNF instance.
                                See note 5.
                              type: array
                              items:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by an internal VL instance in a VNF
                                  instance.
                                type: object
                                required:
                                  - id
                                  - vnfVirtualLinkDescId
                                  - networkResource
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfVirtualLinkDescId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  networkResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  reservationId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfLinkPorts:
                                    description: >
                                      Links ports of this VL. Shall be present
                                      when the linkPort is used for external
                                      connectivity by the VNF (refer to
                                      VnfLinkPortInfo). May be present
                                      otherwise.
                                    type: array
                                    items:
                                      type: object
                                      description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpInstanceType:
                                          description: >
                                            Type of the CP instance that is
                                            identified by cpInstanceId. Shall be
                                            present if "cpInstanceId" is present,
                                            and shall be absent otherwise. Permitted
                                            values: * VNFC_CP: The link port is
                                            connected to a VNFC CP * EXT_CP: The
                                            link port is associated to an external
                                            CP. See note 1.
                                          type: string
                                          enum:
                                            - VNFC_CP
                                            - EXT_CP
                                        vipCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          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
                            virtualStorageResourceInfo:
                              description: >
                                Information on the virtualised storage
                                resource(s) used as storage for the VNF
                                instance.
                              type: array
                              items:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance.
                                type: object
                                required:
                                  - id
                                  - virtualStorageDescId
                                  - storageResource
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  virtualStorageDescId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  storageResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  reservationId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    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
                        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
                        extensions:
                          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
                  pnfInfo:
                    description: >
                      Information on the PNF(s) that are part of the NS
                      instance.
                    type: array
                    items:
                      description: >
                        This type represents the information about a PNF that is
                        part of an NS instance.  It shall comply with the
                        provisions defined in Table 6.5.3.13-1.
                      type: object
                      required:
                        - pnfId
                        - pnfdId
                        - pnfdInfoId
                        - pnfProfileId
                      properties:
                        pnfId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        pnfName:
                          description: |
                            Name of the PNF.
                          type: string
                        pnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        pnfdInfoId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        pnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        cpInfo:
                          description: >
                            This type represents the information about the
                            external CP of the PNF.  It shall comply with the
                            provisions defined in Table 6.5.3.17-1.
                          type: object
                          required:
                            - cpInstanceId
                            - cpdId
                          properties:
                            cpInstanceId:
                              description: >
                                An Identifier that is unique within respect to a
                                PNF. Representation: string of variable length.
                              type: string
                            cpdId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            cpProtocolData:
                              description: >
                                Parameters for configuring the network protocols
                                on the CP.
                              type: array
                              items:
                                description: |
                                  This type represents network protocol data.
                                type: object
                                required:
                                  - layerProtocol
                                properties:
                                  layerProtocol:
                                    description: >
                                      Identifier of layer(s) and protocol(s).
                                      Permitted values: IP_OVER_ETHERNET.
                                    type: string
                                    enum:
                                      - IP_OVER_ETHERNET
                                  ipOverEthernet:
                                    description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                    type: object
                                    anyOf:
                                      - required:
                                          - ipAddresses
                                      - required:
                                          - macAddress
                                    properties:
                                      macAddress:
                                        description: >
                                          A MAC address. Representation: string
                                          that consists of groups of two
                                          hexadecimal digits, separated by hyphens
                                          or colons.
                                        type: string
                                        format: MAC
                                      segmentationType:
                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                        type: string
                                        enum:
                                          - VLAN
                                          - INHERIT
                                      segmentationId:
                                        description: >
                                          Identification of the network segment to
                                          which the CP instance connects to. See
                                          note 3 and note 4.
                                        type: string
                                      ipAddresses:
                                        description: >
                                          List of IP addresses to assign to the CP
                                          instance. Each entry represents IP
                                          address data for fixed or dynamic IP
                                          address assignment per subnet. If this
                                          attribute is not present, no IP address
                                          shall be assigned. See note 1.
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - type
                                          oneOf:
                                            - required:
                                                - fixedAddresses
                                            - required:
                                                - numDynamicAddresses
                                            - required:
                                                - addressRange
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values:
                                                  - IPV4
                                                  - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            fixedAddresses:
                                              description: >
                                                Fixed addresses to assign (from the
                                                subnet defined by "subnetId" if
                                                provided). Exactly one of
                                                "fixedAddresses", "numDynamicAddresses"
                                                or "ipAddressRange" shall be present.
                                              type: array
                                              items:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                            numDynamicAddresses:
                                              description: >
                                                Number of dynamic addresses to assign
                                                (from the subnet defined by "subnetId"
                                                if provided). See note 2.
                                              type: integer
                                            addressRange:
                                              description: >
                                                An IP address range to be used, e.g. in
                                                case of egress connections. In case this
                                                attribute is present, IP addresses from
                                                the range will be used.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                  virtualLinkInfo:
                    description: >
                      Information on the VL(s) of the NS instance. This
                      attribute shall be present if the nsState attribute value
                      is INSTANTIATED and if the NS instance has specified
                      connectivity.
                    type: array
                    items:
                      description: "This type specifies the information about an NS VL instance.  It shall comply with the provisions defined in Table 6.5.3.53-1.\nNOTE:\tAs an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink shall be the same as the corresponding NsVirtualLink.\n"
                      type: object
                      required:
                        - id
                        - nsVirtualLinkDescId
                        - nsVirtualLinkProfileId
                      properties:
                        id:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        nsVirtualLinkDescId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        nsVirtualLinkProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        resourceHandle:
                          description: >
                            Identifier(s) of the virtualised network resource(s)
                            and/or multi-site connectivity service(s) realizing
                            the VL instance. See note.
                          type: array
                          items:
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance or by an NS instance. Information
                              about the resource is available from the VIM.
                              NOTE: The value set of the "vimLevelResourceType"
                              attribute is within the scope of the VIM, the WIM
                              or the resource provider and can be used as
                              information that complements the ResourceHandle.
                            type: object
                            required:
                              - resourceId
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceProviderId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceId:
                                description: >
                                  An identifier maintained by the VIM or other
                                  resource provider. It is expected to be unique
                                  within the VIM instance. Representation:
                                  string of variable length.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM,
                                  the WIM or the resource provider. The value
                                  set of the "vimLevelResourceType" attribute is
                                  within the scope of the VIM, the WIM or the
                                  resource provider and can be used as
                                  information that complements the
                                  ResourceHandle. See note.
                                type: string
                        linkPort:
                          description: >
                            Link ports of the VL instance. Cardinality of zero
                            indicates that no port has yet been created for the
                            VL instance.
                          type: array
                          items:
                            description: "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1. NOTE:\tWhen the NsVirtualLink, from which the present NsLinkPort is part of, is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtLinkPort shall be the same as the corresponding NsLinkPort.\n"
                            type: object
                            required:
                              - id
                              - resourceHandle
                            properties:
                              id:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceHandle:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              nsCpHandle:
                                description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                                type: object
                                oneOf:
                                  - required:
                                      - vnfInstanceId
                                      - vnfExtCpInstanceId
                                  - required:
                                      - pnfInfoId
                                      - pnfExtCpInstanceId
                                  - required:
                                      - nsInstanceId
                                      - nsSapInstanceId
                                properties:
                                  vnfInstanceId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfExtCpInstanceId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  pnfInfoId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  pnfExtCpInstanceId:
                                    description: >
                                      An Identifier that is unique within
                                      respect to a PNF. Representation: string
                                      of variable length.
                                    type: string
                                  nsInstanceId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  nsSapInstanceId:
                                    description: >
                                      An identifier that is unique with respect
                                      to a NS. Representation: string of
                                      variable length.
                                    type: string
                  vnffgInfo:
                    description: |
                      Information on the VNFFG(s) of the NS instance.
                    type: array
                    items:
                      description: "Information on the VNFFG(s) of the NS instance. NOTE:\tIt indicates an exhaustive list of all the CP instances and SAP instances of the VNFFG.\n"
                      type: object
                      required:
                        - id
                        - vnffgdId
                        - vnfInstanceId
                        - pnfInfoId
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnffgdId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        vnfInstanceId:
                          description: >
                            Identifier(s) of the constituent VNF instance(s) of
                            this VNFFG instance.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        pnfdInfoId:
                          description: >
                            Identifier(s) of the constituent PNF instance(s) of
                            this VNFFG instance.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        nsVirtualLinkInfoId:
                          description: >
                            Identifier(s) of the constituent VL instance(s) of
                            this VNFFG instance.
                          type: array
                          items:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                        nsCpHandle:
                          description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                          type: object
                          oneOf:
                            - required:
                                - vnfInstanceId
                                - vnfExtCpInstanceId
                            - required:
                                - pnfInfoId
                                - pnfExtCpInstanceId
                            - required:
                                - nsInstanceId
                                - nsSapInstanceId
                          properties:
                            vnfInstanceId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vnfExtCpInstanceId:
                              description: >
                                An identifier that is unique for the respective
                                type within a VNF instance, but may not be
                                globally unique.
                              type: string
                            pnfInfoId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            pnfExtCpInstanceId:
                              description: >
                                An Identifier that is unique within respect to a
                                PNF. Representation: string of variable length.
                              type: string
                            nsInstanceId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            nsSapInstanceId:
                              description: >
                                An identifier that is unique with respect to a
                                NS. Representation: string of variable length.
                              type: string
                  sapInfo:
                    description: |
                      Information on the SAP(s) of the NS instance.
                    type: array
                    items:
                      description: >
                        This type represents an SAP instance. It shall comply
                        with the provisions defined in Table 6.5.3.67-1.
                      type: object
                      required:
                        - id
                        - sapdId
                        - sapName
                        - sapProtocolInfo
                      properties:
                        id:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        sapdId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        sapName:
                          description: |
                            Human readable name for the SAP instance.
                          type: string
                        description:
                          description: |
                            Human readable description for the SAP instance.
                          type: string
                        sapProtocolInfo:
                          description: |
                            Network protocol information for this SAP.
                          type: array
                          items:
                            description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                            type: object
                            required:
                              - layerProtocol
                              - ipOverEthernet
                            properties:
                              layerProtocol:
                                description: >
                                  The identifier of layer(s) and protocol(s)
                                  associated to the network address information.
                                  Permitted values:
                                    - IP_OVER_ETHERNET

                                  See note.
                                type: string
                                enum:
                                  - IP_OVER_ETHERNET
                              ipOverEthernet:
                                description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                type: object
                                anyOf:
                                  - required:
                                      - macAddress
                                  - required:
                                      - ipAddresses
                                properties:
                                  macAddress:
                                    description: >
                                      A MAC address. Representation: string that
                                      consists of groups of two hexadecimal
                                      digits, separated by hyphens or colons.
                                    type: string
                                    format: MAC
                                  segmentationId:
                                    description: >
                                      Identification of the network segment to
                                      which the Cp instance connects to. See
                                      note 3 and note 4.
                                    type: string
                                  ipAddresses:
                                    description: >
                                      Addresses assigned to the CP instance.
                                      Each entry represents IP addresses
                                      assigned by fixed or dynamic IP address
                                      assignment per subnet. See note 1.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - type
                                      oneOf:
                                        - required:
                                            - addresses
                                        - required:
                                            - addressRange
                                      properties:
                                        type:
                                          description: >
                                            The type of the IP addresses. Permitted
                                            values: - IPV4 - IPV6
                                          type: string
                                          enum:
                                            - IPV4
                                            - IPV6
                                        addresses:
                                          description: >
                                            Fixed addresses assigned (from the
                                            subnet defined by "subnetId" if
                                            provided). See note 2.
                                          type: array
                                          items:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                        isDynamic:
                                          description: >
                                            Indicates whether this set of addresses
                                            was assigned dynamically (true) or based
                                            on address information provided as input
                                            from the API consumer (false). Shall be
                                            present if "addresses" is present and
                                            shall be absent otherwise.
                                          type: boolean
                                        addressRange:
                                          description: >
                                            An IP address range used, e.g., in case
                                            of egress connections. Exactly one of
                                            "addresses" or "addressRange" shall be
                                            present. See note 2.
                                          type: object
                                          required:
                                            - minAddress
                                            - maxAddress
                                          properties:
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                        subnetId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                  type:
                                    description: |
                                      The type of the IP addresses
                                    type: string
                                    enum:
                                      - PV4
                                      - PV6
                                  addresses:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  isDynamic:
                                    description: >
                                      Indicates whether this set of addresses
                                      was assigned dynamically (true) or based
                                      on address information provided as input
                                      from the API consumer (false). Shall be
                                      present if "addresses" is present and
                                      shall be absent otherwise.
                                    type: boolean
                                  addressRange:
                                    description: >
                                      An IP address range used, e.g. in case of
                                      egress connections. See note.
                                    type: object
                                    required:
                                      - minAddress
                                      - maxAddress
                                    properties:
                                      minAddress:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                      maxAddress:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                  minAddress:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  maxAddress:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  subnetId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                  nestedNsInstanceId:
                    description: >
                      Identifier of the nested NS(s) of the NS instance. See
                      note.
                    type: array
                    items:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                  vnfSnapshotInfoIds:
                    description: >
                      Identifier of information on VNF snapshots of VNF
                      instances that are part of this NS instance.
                    type: array
                    items:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                  nsState:
                    description: >
                      The state of the NS instance. Permitted values:
                      NOT_INSTANTIATED: The NS instance is terminated or not
                      instantiated. INSTANTIATED: The NS instance is
                      instantiated.
                    type: string
                    enum:
                      - NOT_INSTANTIATED
                      - INSTANTIATED
                  monitoringParameter:
                    description: >
                      Performance metrics tracked by the NFVO (e.g. for
                      auto-scaling purposes) as identified by the NS designer in
                      the NSD.
                    type: array
                    items:
                      description: >
                        This type represents a monitoring parameter that is
                        tracked by the NFVO, for example,  for auto-scaling
                        purposes. It shall comply with the provisions defined in
                        Table 6.5.3.68-1.
                      type: object
                      required:
                        - id
                        - performanceMetric
                      properties:
                        id:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        name:
                          description: >
                            Human readable name of the monitoring parameter, as
                            defined in the NSD.
                          type: string
                        performanceMetric:
                          description: >
                            Performance metric that is monitored. This attribute
                            shall contain the related  "Measurement Name" value
                            as defined in clause 7.2 of ETSI GS NFV-IFA 027.
                          type: string
                  nsScaleStatus:
                    description: >
                      Status of each NS scaling aspect declared in the
                      applicable DF, how "big" the NS instance has been scaled
                      w.r.t. that aspect. This attribute shall be present if the
                      nsState attribute value is INSTANTIATED.
                    type: array
                    items:
                      description: >
                        This type represents the target NS Scale level for each
                        NS scaling aspect of the current deployment flavor.
                      type: object
                      required:
                        - nsScalingAspectId
                        - nsScaleLevelId
                      properties:
                        nsScalingAspectId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        nsScaleLevelId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                  additionalAffinityOrAntiAffinityRule:
                    description: >
                      Information on the additional affinity or anti-affinity
                      rule from NS instantiation operation. Shall not conflict
                      with rules already specified in the NSD.
                    type: array
                    items:
                      description: >
                        This type describes the additional affinity or
                        anti-affinity rule applicable between the VNF instances
                        to be instantiated in the NS instantiation operation
                        request or between the VNF instances to be instantiated
                        in the NS instantiation operation request and the
                        existing VNF instances..
                      type: object
                      required:
                        - affinityOrAntiAffiinty
                        - scope
                      properties:
                        vnfdId:
                          description: >
                            Reference to a VNFD. When the VNFD which is not used
                            to instantiate VNF, it presents all VNF instances of
                            this type as the subjects of the affinity or
                            anti-affinity rule. The VNF instance which the VNFD
                            presents is not necessary as a part of the NS to be
                            instantiated.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        vnfProfileId:
                          description: >
                            Reference to a vnfProfile defined in the NSD. At
                            least one VnfProfile which is used to instantiate
                            VNF for the NS to be instantiated as the subject of
                            the affinity or anti-affinity rule shall be present.
                            When the VnfProfile which is not used to instantiate
                            VNF, it presents all VNF instances of this type as
                            the subjects of the affinity or anti-affinity rule.
                            The VNF instance which the VnfProfile presents is
                            not necessary as a part of the NS to be
                            instantiated.
                          type: array
                          items:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                        vnfInstanceId:
                          description: >
                            Reference to the existing VNF instance as the
                            subject of the affinity or anti-affinity rule. The
                            existing VNF instance is not necessary as a part of
                            the NS to be instantiated.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        affinityOrAntiAffiinty:
                          description: >
                            The type of the constraint. Permitted values:
                            AFFINITY ANTI_AFFINITY.
                          type: string
                          enum:
                            - AFFINITY
                            - ANTI_AFFINITY
                        scope:
                          description: >
                            Specifies the scope of the rule where the placement
                            constraint applies. Permitted values: NFVI_POP ZONE
                            ZONE_GROUP NFVI_NODE.
                          type: string
                          enum:
                            - NFVI_POP
                            - ZONE
                            - ZONE_GROUP
                            - NFVI_NODE
                  wanConnectionInfo:
                    description: >
                      Information about WAN related connectivity enabling
                      multi-site VLs.
                    type: array
                    items:
                      description: "This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,\nwhen the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.\nNOTE:\tEither a \"nsVirtualLinkInfoId\" or a \"vnfVirtualLinkResourceInfoId\" shall be provided, but not both.\n"
                      type: object
                      required:
                        - wanConnectionInfoId
                      oneOf:
                        - required:
                            - nsVirtualLinkInfoId
                        - required:
                            - vnfVirtualLinkResourceInfoId
                      properties:
                        wanConnectionInfoId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        nsVirtualLinkInfoId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        vnfVirtualLinkResourceInfoId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        protocolInfo:
                          description: >
                            This type provides protocol specific information
                            about the connectivity to the WAN of network
                            resources realizing

                            a VL, e.g., when the VL is deployed on several sites
                            and across a WAN, and the related multi-site
                            connectivity

                            service (MSCS) enabling the connectivity through the
                            WAN. This type supports providing information about
                            both

                            pre-provisioned WAN connectivity realized by
                            external entities to NFV-MANO but parts of such
                            connectivity is known

                            to the NFVO, as well as information about MSCS
                            created under NFV-MANO responsibility (i.e.,
                            connectivity is realized

                            when NFVO communicates with the WIM).  It shall
                            comply with the provisions defined in table
                            6.5.3.91-1.
                          type: object
                          properties:
                            mscsInfo:
                              description: >
                                This type provides information about an already
                                provisioned multi-site connectivity service
                                (MSCS) deployed across a WAN. It shall comply
                                with the provisions defined in Table 6.5.3.82-1.
                              type: object
                              required:
                                - mscsId
                                - mscsType
                              properties:
                                mscsId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                mscsName:
                                  description: |
                                    Human readable name of the MSCS.
                                  type: string
                                mscsDescription:
                                  description: |
                                    Human readable description of the MSCS.
                                  type: string
                                mscsType:
                                  description: "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n"
                                  type: string
                                  enum:
                                    - L2VPN
                                    - L3VPN
                                mscsLayerProtocol:
                                  description: "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n"
                                  type: string
                                  enum:
                                    - EVPN_BGP_MPLS
                                    - EVPN_VPWS
                                    - VPLS_BGP
                                    - VPLS_LDP
                                    - VPWS
                                    - BGP_IP_VPN
                                siteAccessProtectionSchemes:
                                  description: >
                                    Information to determine the proper MSCS
                                    endpoints configuration to fulfil certain
                                    resiliency/protection requirements, e.g., by
                                    considering certain availability and
                                    redundancy of connectivity service endpoints
                                    in between NFVI-PoP and WAN.
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      locationConstraints:
                                        description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                                        type: object
                                        properties:
                                          countryCode:
                                            description: >
                                              The two-letter ISO 3166 country code in
                                              capital letters. Shall be present in
                                              case the "area" attribute is absent. May
                                              be absent if the "area" attribute is
                                              present (see note).
                                            type: string
                                          civicAddressElement:
                                            description: >
                                              Zero or more elements comprising the
                                              civic address. Shall be absent if the
                                              "area" attribute is present.
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - caType
                                                - caValue
                                              properties:
                                                caType:
                                                  description: >
                                                    Describe the content type of caValue.
                                                    The value of caType shall comply with
                                                    Section 3.4 of IETF RFC 4776 [13].
                                                  type: integer
                                                caValue:
                                                  description: >
                                                    Content of civic address element
                                                    corresponding to the caType. The format
                                                    caValue shall comply with Section 3.4 of
                                                    IETF RFC 4776 [13].
                                                  type: string
                                          area:
                                            description: >
                                              Geographic area. Shall be absent if the
                                              "civicAddressElement" attribute is
                                              present. The content of this attribute
                                              shall follow the provisions for the
                                              "Polygon" geometry object as defined in
                                              IETF RFC 7946, for which the "type"
                                              member shall be set to the value
                                              "Polygon". See note.
                                            type: object
                                      protectionScheme:
                                        description: "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n"
                                        type: string
                                        enum:
                                          - UNPROTECTED
                                          - ONE_TO_ONE
                                          - ONE_PLUS_ONE
                                          - ONE_TO_N
                                mtuMscs:
                                  description: >
                                    Maximum Transmission Unit (MTU) that can be
                                    forwarded over the MSCS (in bytes). Default
                                    value is "1500" (bytes).
                                  type: number
                                mscsEndpoints:
                                  description: >
                                    Information about the MSCS endpoints of the
                                    MSCS.
                                  type: array
                                  items:
                                    description: >
                                      This type provides encapsulates
                                      information about an MSCS endpoint of the
                                      MSCS. It shall comply with the provisions
                                      defined in table 6.5.3.83-1.
                                    type: object
                                    required:
                                      - mscsEndpointId
                                      - directionality
                                      - connectivityServiceEndpoinId
                                    properties:
                                      mscsEndpointId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      directionality:
                                        description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                        type: string
                                        enum:
                                          - INBOUND
                                          - OUTBOUND
                                          - BOTH
                                      connectivityServiceEndpoinId:
                                        description: >
                                          References the connectivity service
                                          endpoint configuration information
                                          applicable to support the MSCS endpoint.
                                          More than one connectivity service
                                          endpoint can be referred when endpoints
                                          are in LAG mode.
                                        type: array
                                        items:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                            connectivityServiceEndpoints:
                              description: >
                                Configuration information about the network
                                resources in the NFVI-PoP and their connectivity
                                to the WAN.
                              type: array
                              items:
                                description: >
                                  This type provides configuration data for the
                                  NFVI-PoP network gateway providing
                                  connectivity service endpoints. The
                                  connectivity service endpoints are used as
                                  endpoints by an MSCS. It shall comply with the
                                  provisions defined in Table 6.5.3.84-1.
                                type: object
                                required:
                                  - connectivityServiceEndpointId
                                  - vimId
                                properties:
                                  connectivityServiceEndpointId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  siteToWanLayer2ProtocolData:
                                    description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                    type: object
                                    required:
                                      - layer2ConnectionInfo
                                    properties:
                                      layer2ConnectionInfo:
                                        description: >
                                          Layer 2 protocol parameters of the
                                          connectivity service endpoint (CSE).
                                        type: object
                                        required:
                                          - connectionType
                                          - interfaceType
                                          - interfaceTagging
                                          - encapsulationType
                                        properties:
                                          connectionType:
                                            description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                            type: string
                                            enum:
                                              - CSE
                                              - AGGREGATE_CSE
                                          interfaceType:
                                            description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                            type: string
                                            enum:
                                              - PARENT
                                              - LOGICAL
                                          interfaceTagging:
                                            description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                            type: string
                                            enum:
                                              - UNTAGGED
                                              - TAGGED
                                          encapsulationType:
                                            description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                            type: string
                                            enum:
                                              - ETH
                                              - VLAN
                                              - VXLAN
                                          vlanTaggingType:
                                            description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                            type: string
                                            enum:
                                              - DOT1Q
                                              - QINQ
                                              - QINANY
                                          wanSegmentIds:
                                            description: >
                                              Segment identifiers to pass on the
                                              tagged interface. Shall be present if
                                              encapsulationType="VLAN" or “VXLAN".
                                            type: object
                                            required:
                                              - wanSegmentIdValue
                                            properties:
                                              wanSegmentIdValue:
                                                description: >
                                                  Identifier of the network segment (e.g.,
                                                  VLAN id or VNI).
                                                type: string
                                              wanSegmentIdUpperRange:
                                                description: >
                                                  Identifier of the upper range network
                                                  segment, in case the "wanSegmentIds" is
                                                  used to define a range.
                                                type: string
                                          vxlanConfig:
                                            description: >
                                              Additional configuration needed when
                                              using VXLAN encapsulation. Shall be
                                              present if interfaceTagging="TAGGED" and
                                              encapsulationType="VXLAN".
                                            type: object
                                            required:
                                              - peerMode
                                            properties:
                                              peerMode:
                                                description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                                type: string
                                                enum:
                                                  - STATIC
                                                  - BGP_EVPN
                                              peers:
                                                description: >
                                                  List of IP addresses of VTEP peers when
                                                  using static mode.
                                                type: array
                                                items:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                          lagInterfaceData:
                                            description: >
                                              Information for setting up a LAG
                                              interface aggregating multiple
                                              connectivity service endpoints.
                                            type: object
                                            required:
                                              - aggregatedEndpoints
                                              - lacpActivation
                                              - lacpConfig
                                            properties:
                                              aggregatedEndpoints:
                                                description: >
                                                  List of the connectivity service
                                                  endpoints that are to be aggregated.
                                                  Shall be present if
                                                  connectionType="AGGREGATE_CSE". In case
                                                  of aggregating connectivity service
                                                  endpoints, only one
                                                  SiteToWanLayer2ProtocolData shall be
                                                  provided for the whole set of aggregated
                                                  endpoints.
                                                type: array
                                                items:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                              lacpActivation:
                                                description: >
                                                  Indicates whether to activate LACP on
                                                  the interface. If "TRUE", the LACP is to
                                                  be activated, or "FALSE" otherwise.
                                                  Default value is "FALSE".
                                                type: boolean
                                              lacpConfig:
                                                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
                                          layer2ControlProtocol:
                                            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
                                      mtuL2:
                                        description: >
                                          Maximum Transmission Unit (MTU) that can
                                          be forwarded at layer 2 (in bytes).
                                          Default value is "1500" (bytes).
                                        type: number
                                      virtualRoutingAndForwarding:
                                        description: >
                                          Configuration related to the L2 virtual
                                          routing and forwarding (MAC-VRF).
                                        type: object
                                        required:
                                          - macVrfName
                                        properties:
                                          macVrfName:
                                            description: >
                                              Name (or identifier) of the MAC-VRF
                                              instance.
                                            type: string
                                      forwardingConfig:
                                        description: >
                                          Information related to the forwarding of
                                          the VN in the NFVI-PoP to the
                                          connectivity service endpoint, if
                                          information about the VN to "stitch" is
                                          already known. . by the OSS/BSS. Shall
                                          not be provided otherwise, in which case
                                          the NFVO will infer the forwarding
                                          configuration based on the NS VL, or
                                          external VL, or externally-managed VL
                                          provisioning.
                                        type: object
                                        oneOf:
                                          - required:
                                              - networkResources
                                          - required:
                                              - vnSegmentIds
                                        properties:
                                          networkResources:
                                            description: >
                                              Reference to the VN resource to be
                                              forwarded into/from the MSCS. See note.
                                            type: array
                                            items:
                                              description: >
                                                This type represents the information
                                                that allows addressing a virtualised
                                                resource that is used by a VNF instance
                                                or by an NS instance. Information about
                                                the resource is available from the VIM.
                                                NOTE: The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle.
                                              type: object
                                              required:
                                                - resourceId
                                              properties:
                                                vimId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceProviderId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                                vimLevelResourceType:
                                                  description: >
                                                    Type of the resource in the scope of the
                                                    VIM, the WIM or the resource provider.
                                                    The value set of the
                                                    "vimLevelResourceType" attribute is
                                                    within the scope of the VIM, the WIM or
                                                    the resource provider and can be used as
                                                    information that complements the
                                                    ResourceHandle. See note.
                                                  type: string
                                          vnSegmentIds:
                                            description: >
                                              Identifiers of the network segments of
                                              the VN resources to be forwarded
                                              into/from the MSCS.
                                            type: object
                                            required:
                                              - vnSegmentIdValue
                                            properties:
                                              vnSegmentIdValue:
                                                description: |
                                                  Identifier of the network segment.
                                                type: string
                                              vnSegmentIdUpperRange:
                                                description: >
                                                  Identifier of the upper range network
                                                  segment, in case the "vnSegmentIds" is
                                                  used to define a range.
                                                type: string
                                  siteToWanLayer3ProtocolData:
                                    description: >
                                      This type provides information about Layer
                                      3 protocol specific information for the
                                      stitching of the intra-site VN to the
                                      multi-site connectivity service over the
                                      WAN. It shall comply with the provisions
                                      defined in Table 6.5.3.86-1.
                                    type: object
                                    required:
                                      - routingInfo
                                    properties:
                                      logicalInterfaceIpAddress:
                                        description: >
                                          IP addressing information associated to
                                          a logical interface. Shall be present if
                                          the "interfaceType" of the
                                          SiteToWanLayer2ProtocolData is equal to
                                          "LOGICAL".
                                        type: object
                                        required:
                                          - ipAddress
                                          - associatedSegmentId
                                        properties:
                                          ipAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          associatedSegmentId:
                                            description: >
                                              The associated segment identifier that
                                              has triggered the creation of the
                                              logical interface. The value shall be
                                              one of the values listed in the
                                              "wanSegmentIds" of the
                                              "siteToWanLayer2ProtocolData".
                                            type: string
                                      routingInfo:
                                        description: >
                                          The routing information that is
                                          activated on the connectivity service
                                          endpoint. More than one "routingInfo" is
                                          allowed to enable stacking different
                                          routing protocols (e.g., one routing
                                          protocol for IPv4 and another one for
                                          IPv6).
                                        type: object
                                        required:
                                          - routingProtocol
                                          - routingAddressFamily
                                        properties:
                                          routingProtocol:
                                            description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                            type: string
                                            enum:
                                              - BGP
                                              - RIP
                                              - OSPF
                                              - STATIC
                                              - DIRECT
                                              - VRRP
                                          staticRouting:
                                            description: >
                                              Defines a static route. It shall only be
                                              present if the routingProtocol="STATIC".
                                            type: object
                                            required:
                                              - ipVersion
                                              - ipPrefix
                                              - prefixSize
                                              - nextHop
                                            properties:
                                              ipVersion:
                                                description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                                type: string
                                                enum:
                                                  - IPV4
                                                  - IPV6
                                              ipPrefix:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              prefixSize:
                                                description: |
                                                  The IP prefix size.
                                                type: number
                                              nextHop:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          routingAddressFamily:
                                            description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPv6
                                          ospfRouting:
                                            description: >
                                              Defines parameters for OSPF routing. It
                                              shall only be present if the
                                              routingProtocol="OSPF".
                                            type: object
                                            required:
                                              - areaId
                                            properties:
                                              areaId:
                                                description: >
                                                  The routing area identifier, e.g., a
                                                  number or an IP address.
                                                type: string
                                          bgpRouting:
                                            description: >
                                              Defines parameters for BGP routing. It
                                              shall only be present if the
                                              routingProtocol="BGP".
                                            type: object
                                            required:
                                              - bgpAs
                                            properties:
                                              bgpAs:
                                                description: >
                                                  The Autonomous System (AS)
                                                  identification applicable to the BGP
                                                  routing info entry.
                                                type: object
                                              bgpNeighbour:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              bgpAdditionalParam:
                                                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
                                          routeMapsDistribution:
                                            description: >
                                              Maps of routes that are permitted or
                                              denied for redistribution.
                                            type: object
                                            required:
                                              - policy
                                              - sequence
                                              - matchAndSetRule
                                            properties:
                                              policy:
                                                description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                                type: string
                                                enum:
                                                  - PERMIT
                                                  - DENY
                                              sequence:
                                                description: >
                                                  Sequence or index number assigned to the
                                                  route-map.
                                                type: number
                                              matchAndSetRule:
                                                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
                                      mtuL3:
                                        description: >
                                          Maximum Transmission Unit (MTU) that can
                                          be forwarded at layer 3 (in bytes).
                                          Default value is "1500" (bytes).
                                        type: number
                                      virtualRoutingAndForwarding:
                                        description: >
                                          Configuration related to the virtual
                                          routing and forwarding (VRF).
                                        type: object
                                        required:
                                          - vrfName
                                        properties:
                                          vrfName:
                                            description: >
                                              Name (or identifier) of the VRF
                                              instance.
                                            type: string
                                      bfdConfig:
                                        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
                  _links:
                    type: object
                    description: Links to resources related to this resource.
                    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
                      nestedNsInstances:
                        description: |
                          Links to resources related to this notification.
                        type: array
                        items:
                          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
                      vnfSnapshotInfos:
                        description: >
                          Links to the VNF snapshots associated to VNF instances
                          which are part of this NS instance.
                        type: array
                        items:
                          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
                      instantiate:
                        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
                      terminate:
                        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
                      update:
                        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
                      scale:
                        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
                      heal:
                        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
  '/ns_instances/{nsInstanceId}':
    parameters:
      - name: nsInstanceId
        in: path
        description: |
          Identifier of the NS instance.
        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 retrieves information about an NS instance by reading an
        "Individual NS instance" resource.

        See clause 6.4.3.3.2.
      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
      responses:
        '200':
          description: >
            200 OK

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

            body shall contain a representation of the NS instance, as defined
            in clause 6.5.2.10.
          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:
                description: "This type represents a response for Query NS operation.  It shall comply with the provisions defined in Table 6.5.2.10-1.\nNOTE 1:\tIf the \"nsState\" attribute is INSTANTIATED, at least either one\n          \"vnfInstance\" attribute or one \"nestedNsInstanceId\" attribute shall be present.\nNOTE 2:\tThe “priority” attribute of the NS instance is configured in the NSD in the NsDf structure.\n          The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility.\n          The \"zero\" value expresses the highest priority and the fact that the NS instance based on this DF cannot be\n          pre-empted during resource allocation.\nNOTE 3:\tExamples for the usage of priority include conflict resolution in case of resource shortage\n"
                type: object
                required:
                  - id
                  - nsInstanceName
                  - nsInstanceDescription
                  - nsdId
                  - nsdInfoId
                  - nsState
                  - _links
                properties:
                  id:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  nsInstanceName:
                    description: |
                      Human readable name of the NS instance.
                    type: string
                  nsInstanceDescription:
                    description: |
                      Human readable description of the NS instance.
                    type: string
                  nsdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  nsdInfoId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  flavourId:
                    description: >
                      An identifier that is unique within a NS descriptor.
                      Representation: string of variable length.
                    type: string
                  priority:
                    description: |
                      A number as defined in IETF RFC 8259.
                    type: number
                  vnfInstance:
                    description: >
                      Information on constituent VNF(s) of the NS instance. See
                      note 1.
                    type: array
                    items:
                      description: >
                        This type represents a VNF instance. It shall comply
                        with the provisions defined in table 6.5.3.57-1.

                        NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides
                        examples illustrating the relationship among the 
                              different run-time information elements (CP, VL and link ports) used to represent the connectivity 
                              of a VNF.

                        NOTE 1: Modifying the value of this attribute shall not
                        be performed when conflicts exist between the 
                                previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to 
                                the previous VNFD in other aspects than merely referencing to other VNF software images. 
                                In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, 
                                the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall 
                                be kept in sync with the values in the VNFD.
                        NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and
                        format of the VNFD based on TOSCA specifications. NOTE
                        3: VNF configurable properties are sometimes also
                        referred to as configuration parameters applicable 
                                to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, 
                                some are set prior to instantiation (are part of initial configuration) and can be modified later, 
                                and others can be set only after instantiation. The applicability of certain configuration may depend 
                                on the VNF and the required operation of the VNF at a certain point in time.
                        NOTE 4: It is possible to have several
                        ExtManagedVirtualLinkInfo for the same VNF internal VL
                        in case of a 
                                multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same 
                                VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed 
                                multi-site VL instance (refer to clause 6.5.3.59).
                        NOTE 5: Even though externally-managed internal VLs are
                        also used for VNF-internal connectivity, they shall not 
                                be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
                      type: object
                      required:
                        - id
                        - vnfdId
                        - vnfProvider
                        - vnfProductName
                        - vnfSoftwareVersion
                        - vnfdVersion
                        - vnfPkgId
                        - instantiationState
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfInstanceName:
                          description: >
                            Name of the VNF instance. Modifications to this
                            attribute can be requested using the
                            "ModifyVnfInfoData" structure.
                          type: string
                        vnfInstanceDescription:
                          description: >
                            Human-readable description of the VNF instance.
                            Modifications to this attribute can be requested
                            using the "ModifyVnfInfoData" structure.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfProvider:
                          description: >
                            Provider of the VNF and the VNFD. The value is
                            copied from the VNFD.
                          type: string
                        vnfProductName:
                          description: >
                            Name to identify the VNF Product. The value is
                            copied from the VNFD.
                          type: string
                        vnfSoftwareVersion:
                          description: >
                            A Version. Representation: string of variable
                            length.
                          type: string
                        vnfdVersion:
                          description: >
                            A Version. Representation: string of variable
                            length.
                          type: string
                        vnfPkgId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfConfigurableProperties:
                          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
                        vimId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        instantiationState:
                          description: >
                            The instantiation state of the VNF.

                            Permitted values: - NOT_INSTANTIATED: The VNF
                            instance is terminated or not instantiated. -
                            INSTANTIATED: The VNF instance is instantiated.
                          type: string
                          enum:
                            - NOT_INSTANTIATED
                            - INSTANTIATED
                        instantiatedVnfInfo:
                          description: >
                            Information specific to an instantiated VNF
                            instance. This attribute shall be present if the
                            instantiateState attribute value is INSTANTIATED.
                          type: object
                          required:
                            - flavourId
                            - vnfState
                            - extCpInfo
                          properties:
                            flavourId:
                              description: >
                                Identifier of the VNF Virtual Link Descriptor
                                (VLD) in the VNFD.
                              type: string
                            vnfState:
                              type: string
                              enum:
                                - STARTED
                                - STOPPED
                            scaleStatus:
                              description: >
                                Scale status of the VNF, one entry per aspect.
                                Represents for every scaling aspect how "big"
                                the VNF has been scaled w.r.t. that aspect.
                              type: array
                              items:
                                required:
                                  - aspectId
                                  - scaleLevel
                                type: object
                                properties:
                                  aspectId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  scaleLevel:
                                    description: >
                                      Indicates the scale level. The minimum
                                      value shall be 0 and the maximum value
                                      shall be <= maxScaleLevel as described in
                                      the VNFD.
                                    type: integer
                            maxScaleLevels:
                              description: >
                                Maximum allowed scale levels of the VNF, one
                                entry per aspect. This attribute shall be
                                present if the VNF supports scaling.
                              type: array
                              items:
                                required:
                                  - aspectId
                                  - scaleLevel
                                type: object
                                properties:
                                  aspectId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  scaleLevel:
                                    description: >
                                      Indicates the scale level. The minimum
                                      value shall be 0 and the maximum value
                                      shall be <= maxScaleLevel as described in
                                      the VNFD.
                                    type: integer
                            extCpInfo:
                              description: >
                                Information about the external CPs exposed by
                                the VNF instance. When trunking is enabled, the
                                list of entries includes both, external CPs
                                corresponding to parent ports of a trunk, and
                                external CPs associated to sub-ports of a trunk.
                              type: array
                              minItems: 1
                              items:
                                description: "This type represents information about an external CP of a VNF. It shall comply  with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n"
                                type: object
                                required:
                                  - id
                                  - cpdId
                                oneOf:
                                  - required:
                                      - associatedVnfcCpId
                                  - required:
                                      - associatedVnfVirtualLinkId
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  cpConfigId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  cpProtocolInfo:
                                    description: |
                                      Network protocol information for this CP.
                                    type: array
                                    minItems: 1
                                    items:
                                      description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                        - ipOverEthernet
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information. Permitted values:
                                              - IP_OVER_ETHERNET

                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                        ipOverEthernet:
                                          description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - macAddress
                                            - required:
                                                - ipAddresses
                                          properties:
                                            macAddress:
                                              description: >
                                                A MAC address. Representation: string
                                                that consists of groups of two
                                                hexadecimal digits, separated by hyphens
                                                or colons.
                                              type: string
                                              format: MAC
                                            segmentationId:
                                              description: >
                                                Identification of the network segment to
                                                which the Cp instance connects to. See
                                                note 3 and note 4.
                                              type: string
                                            ipAddresses:
                                              description: >
                                                Addresses assigned to the CP instance.
                                                Each entry represents IP addresses
                                                assigned by fixed or dynamic IP address
                                                assignment per subnet. See note 1.
                                              type: array
                                              items:
                                                type: object
                                                required:
                                                  - type
                                                oneOf:
                                                  - required:
                                                      - addresses
                                                  - required:
                                                      - addressRange
                                                properties:
                                                  type:
                                                    description: >
                                                      The type of the IP addresses. Permitted
                                                      values: - IPV4 - IPV6
                                                    type: string
                                                    enum:
                                                      - IPV4
                                                      - IPV6
                                                  addresses:
                                                    description: >
                                                      Fixed addresses assigned (from the
                                                      subnet defined by "subnetId" if
                                                      provided). See note 2.
                                                    type: array
                                                    items:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                  isDynamic:
                                                    description: >
                                                      Indicates whether this set of addresses
                                                      was assigned dynamically (true) or based
                                                      on address information provided as input
                                                      from the API consumer (false). Shall be
                                                      present if "addresses" is present and
                                                      shall be absent otherwise.
                                                    type: boolean
                                                  addressRange:
                                                    description: >
                                                      An IP address range used, e.g., in case
                                                      of egress connections. Exactly one of
                                                      "addresses" or "addressRange" shall be
                                                      present. See note 2.
                                                    type: object
                                                    required:
                                                      - minAddress
                                                      - maxAddress
                                                    properties:
                                                      minAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      maxAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                  subnetId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                            type:
                                              description: |
                                                The type of the IP addresses
                                              type: string
                                              enum:
                                                - PV4
                                                - PV6
                                            addresses:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            isDynamic:
                                              description: >
                                                Indicates whether this set of addresses
                                                was assigned dynamically (true) or based
                                                on address information provided as input
                                                from the API consumer (false). Shall be
                                                present if "addresses" is present and
                                                shall be absent otherwise.
                                              type: boolean
                                            addressRange:
                                              description: >
                                                An IP address range used, e.g. in case
                                                of egress connections. See note.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                  extLinkPortId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    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
                                  associatedVnfcCpId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  associatedVipCpId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  associatedVnfVirtualLinkId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                            vipCpInfo:
                              description: >
                                VIP CPs that are part of the VNF instance. Shall
                                be present when that particular VIP CP of the
                                VNFC instance is associated to an external CP of
                                the VNF instance. May be present otherwise.
                              type: array
                              items:
                                description: >
                                  This type provides information related to
                                  virtual IP (VIP) CP. It shall comply with the
                                  provisions defined in table 6.5.3.97 1.
                                  NOTE:   It is possible that there is no
                                  associated VnfcCp because the VIP CP is
                                  available but not associated yet.
                                type: object
                                required:
                                  - cpInstanceId
                                  - cpdId
                                properties:
                                  cpInstanceId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfExtCpId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  cpProtocolInfo:
                                    description: >
                                      Protocol information for this CP. There
                                      shall be one cpProtocolInfo for layer 3.
                                      There may be one cpProtocolInfo for layer
                                      2.
                                    type: array
                                    items:
                                      description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                        - ipOverEthernet
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information. Permitted values:
                                              - IP_OVER_ETHERNET

                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                        ipOverEthernet:
                                          description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - macAddress
                                            - required:
                                                - ipAddresses
                                          properties:
                                            macAddress:
                                              description: >
                                                A MAC address. Representation: string
                                                that consists of groups of two
                                                hexadecimal digits, separated by hyphens
                                                or colons.
                                              type: string
                                              format: MAC
                                            segmentationId:
                                              description: >
                                                Identification of the network segment to
                                                which the Cp instance connects to. See
                                                note 3 and note 4.
                                              type: string
                                            ipAddresses:
                                              description: >
                                                Addresses assigned to the CP instance.
                                                Each entry represents IP addresses
                                                assigned by fixed or dynamic IP address
                                                assignment per subnet. See note 1.
                                              type: array
                                              items:
                                                type: object
                                                required:
                                                  - type
                                                oneOf:
                                                  - required:
                                                      - addresses
                                                  - required:
                                                      - addressRange
                                                properties:
                                                  type:
                                                    description: >
                                                      The type of the IP addresses. Permitted
                                                      values: - IPV4 - IPV6
                                                    type: string
                                                    enum:
                                                      - IPV4
                                                      - IPV6
                                                  addresses:
                                                    description: >
                                                      Fixed addresses assigned (from the
                                                      subnet defined by "subnetId" if
                                                      provided). See note 2.
                                                    type: array
                                                    items:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                  isDynamic:
                                                    description: >
                                                      Indicates whether this set of addresses
                                                      was assigned dynamically (true) or based
                                                      on address information provided as input
                                                      from the API consumer (false). Shall be
                                                      present if "addresses" is present and
                                                      shall be absent otherwise.
                                                    type: boolean
                                                  addressRange:
                                                    description: >
                                                      An IP address range used, e.g., in case
                                                      of egress connections. Exactly one of
                                                      "addresses" or "addressRange" shall be
                                                      present. See note 2.
                                                    type: object
                                                    required:
                                                      - minAddress
                                                      - maxAddress
                                                    properties:
                                                      minAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      maxAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                  subnetId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                            type:
                                              description: |
                                                The type of the IP addresses
                                              type: string
                                              enum:
                                                - PV4
                                                - PV6
                                            addresses:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            isDynamic:
                                              description: >
                                                Indicates whether this set of addresses
                                                was assigned dynamically (true) or based
                                                on address information provided as input
                                                from the API consumer (false). Shall be
                                                present if "addresses" is present and
                                                shall be absent otherwise.
                                              type: boolean
                                            addressRange:
                                              description: >
                                                An IP address range used, e.g. in case
                                                of egress connections. See note.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                  associatedVnfcCpIds:
                                    description: >
                                      Identifiers of the VnfcCps that share the
                                      virtual IP addresse allocated to the VIP
                                      CP instance. See note.
                                    type: array
                                    items:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                  vnfLinkPortId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  metadata:
                                    description: >
                                      Allows the OSS/BSS to provide additional
                                      parameter(s) to the termination process at
                                      the NS level.
                                    type: array
                                    items:
                                      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
                            extVirtualLinkInfo:
                              description: >
                                Information about the external VLs the VNF
                                instance is connected to.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  extLinkPorts:
                                    description: |
                                      Link ports of this VL.
                                    type: array
                                    items:
                                      description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                      type: object
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        secondaryCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                  currentVnfExtCpData:
                                    description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                    type: object
                                    required:
                                      - cpdId
                                    properties:
                                      cpdId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      cpConfig:
                                        description: >
                                          Map of instance data that need to be
                                          configured on the CP instances  created
                                          from the respective CPD. The key of the
                                          map which identifies  the individual
                                          VnfExtCpConfig entries is of type
                                          "IdentifierInVnf"  and is managed by the
                                          API consumer. The entries shall be
                                          applied by  the VNFM according to the
                                          rules of JSON Merge Patch (see IETF RFC
                                          7396 [11]).  See notes 2, 3 and 4.
                                        type: object
                                        additionalProperties:
                                          description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - linkPortId
                                            - required:
                                                - cpProtocolData
                                          properties:
                                            parentCpConfigId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            linkPortId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            createExtLinkPort:
                                              description: >
                                                Indicates the need to create a dedicated
                                                link port for the external CP. If set to
                                                True, a link port is created. If set to
                                                False, no link port is created. This
                                                attribute is only applicable for
                                                external CP instances without a floating
                                                IP address that expose a VIP CP instance
                                                for which a dedicated IP address is
                                                allocated. It shall be present in that
                                                case and shall be absent otherwise.
                                              type: boolean
                                            cpProtocolData:
                                              description: >
                                                Parameters for configuring the network
                                                protocols on the link port that connects
                                                the CP to a VL. See note 1.
                                              type: array
                                              items:
                                                description: >
                                                  This type represents network protocol
                                                  data.
                                                type: object
                                                required:
                                                  - layerProtocol
                                                properties:
                                                  layerProtocol:
                                                    description: >
                                                      Identifier of layer(s) and protocol(s).
                                                      Permitted values: IP_OVER_ETHERNET.
                                                    type: string
                                                    enum:
                                                      - IP_OVER_ETHERNET
                                                  ipOverEthernet:
                                                    description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                    type: object
                                                    anyOf:
                                                      - required:
                                                          - ipAddresses
                                                      - required:
                                                          - macAddress
                                                    properties:
                                                      macAddress:
                                                        description: >
                                                          A MAC address. Representation: string
                                                          that consists of groups of two
                                                          hexadecimal digits, separated by hyphens
                                                          or colons.
                                                        type: string
                                                        format: MAC
                                                      segmentationType:
                                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                        type: string
                                                        enum:
                                                          - VLAN
                                                          - INHERIT
                                                      segmentationId:
                                                        description: >
                                                          Identification of the network segment to
                                                          which the CP instance connects to. See
                                                          note 3 and note 4.
                                                        type: string
                                                      ipAddresses:
                                                        description: >
                                                          List of IP addresses to assign to the CP
                                                          instance. Each entry represents IP
                                                          address data for fixed or dynamic IP
                                                          address assignment per subnet. If this
                                                          attribute is not present, no IP address
                                                          shall be assigned. See note 1.
                                                        type: array
                                                        items:
                                                          type: object
                                                          required:
                                                            - type
                                                          oneOf:
                                                            - required:
                                                                - fixedAddresses
                                                            - required:
                                                                - numDynamicAddresses
                                                            - required:
                                                                - addressRange
                                                          properties:
                                                            type:
                                                              description: >
                                                                The type of the IP addresses. Permitted
                                                                values:
                                                                  - IPV4
                                                                  - IPV6
                                                              type: string
                                                              enum:
                                                                - IPV4
                                                                - IPV6
                                                            fixedAddresses:
                                                              description: >
                                                                Fixed addresses to assign (from the
                                                                subnet defined by "subnetId" if
                                                                provided). Exactly one of
                                                                "fixedAddresses", "numDynamicAddresses"
                                                                or "ipAddressRange" shall be present.
                                                              type: array
                                                              items:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                            numDynamicAddresses:
                                                              description: >
                                                                Number of dynamic addresses to assign
                                                                (from the subnet defined by "subnetId"
                                                                if provided). See note 2.
                                                              type: integer
                                                            addressRange:
                                                              description: >
                                                                An IP address range to be used, e.g. in
                                                                case of egress connections. In case this
                                                                attribute is present, IP addresses from
                                                                the range will be used.
                                                              type: object
                                                              required:
                                                                - minAddress
                                                                - maxAddress
                                                              properties:
                                                                minAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                                maxAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                            subnetId:
                                                              description: >
                                                                An identifier maintained by the VIM or
                                                                other resource provider. It is expected
                                                                to be unique within the VIM instance.
                                                                Representation: string of variable
                                                                length.
                                                              type: string
                            extManagedVirtualLinkInfo:
                              description: >
                                Information about the externally-managed
                                internal VLs of the VNF instance.  See note 4
                                and note 5.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - vnfVirtualLinkDescId
                                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
                                  vnfVirtualLinkDescId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  networkResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  vnfLinkPorts:
                                    description: |
                                      Link ports of this VL.
                                    type: array
                                    items:
                                      type: object
                                      description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpInstanceType:
                                          description: >
                                            Type of the CP instance that is
                                            identified by cpInstanceId. Shall be
                                            present if "cpInstanceId" is present,
                                            and shall be absent otherwise. Permitted
                                            values: * VNFC_CP: The link port is
                                            connected to a VNFC CP * EXT_CP: The
                                            link port is associated to an external
                                            CP. See note 1.
                                          type: string
                                          enum:
                                            - VNFC_CP
                                            - EXT_CP
                                        vipCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                  extManagedMultisiteVirtualLinkId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                            monitoringParameters:
                              description: >
                                Performance metrics tracked by the VNFM (e.g.
                                for  auto-scaling purposes) as identified by the
                                VNF  provider in the VNFD.
                              type: array
                              items:
                                description: >
                                  This type represents a monitoring parameter
                                  that is tracked by the VNFM, for example,  for
                                  auto-scaling purposes. It shall comply with
                                  the provisions defined in Table 6.5.3.69-1.
                                type: object
                                required:
                                  - id
                                  - performanceMetric
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique within a NS
                                      descriptor. Representation: string of
                                      variable length.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  name:
                                    description: >
                                      Human readable name of the monitoring
                                      parameter, as defined in the VNFD.
                                    type: string
                                  performanceMetric:
                                    description: >
                                      Performance metric that is monitored. This
                                      attribute shall contain the related 
                                      "Measurement Name" value as defined in
                                      clause 7.2 of ETSI GS NFV-IFA 027.
                                    type: string
                            localizationLanguage:
                              description: >
                                Information about localization language of the
                                VNF (includes e.g. strings in the VNFD). The
                                localization languages supported by a VNF can be
                                declared in the VNFD, and localization language
                                selection can take place at instantiation time.
                                The value shall comply with the format defined
                                in IETF RFC 5646.
                              type: string
                            vnfcResourceInfo:
                              description: >
                                Information about the virtualised compute and
                                storage resources used by the VNFCs of the VNF
                                instance.
                              type: array
                              items:
                                description: "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n"
                                type: object
                                required:
                                  - id
                                  - vduId
                                  - computeResource
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vduId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  computeResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  storageResourceIds:
                                    description: >
                                      References to the VirtualStorage
                                      resources. The value refers to a
                                      VirtualStorageResourceInfo item in the
                                      VnfInstance.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                  reservationId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfcCpInfo:
                                    description: >
                                      CPs of the VNFC instance. Shall be present
                                      when that particular CP of the VNFC
                                      instance is exposed as an external CP of
                                      the VNF instance or is connected to an
                                      external CP of the VNF instance.See note
                                      2. May be present otherwise.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - id
                                        - cpdId
                                      properties:
                                        id:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpdId:
                                          description: >
                                            Identifier of the VNF Virtual Link
                                            Descriptor (VLD) in the VNFD.
                                          type: string
                                        vnfExtCpId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpProtocolInfo:
                                          description: >
                                            Network protocol information for this
                                            CP. May be omitted if the VNFC CP is
                                            exposed as an external CP. See note 3.
                                          type: array
                                          items:
                                            description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                            type: object
                                            required:
                                              - layerProtocol
                                              - ipOverEthernet
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  The identifier of layer(s) and
                                                  protocol(s) associated to the network
                                                  address information. Permitted values:
                                                    - IP_OVER_ETHERNET

                                                  See note.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                              ipOverEthernet:
                                                description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                type: object
                                                anyOf:
                                                  - required:
                                                      - macAddress
                                                  - required:
                                                      - ipAddresses
                                                properties:
                                                  macAddress:
                                                    description: >
                                                      A MAC address. Representation: string
                                                      that consists of groups of two
                                                      hexadecimal digits, separated by hyphens
                                                      or colons.
                                                    type: string
                                                    format: MAC
                                                  segmentationId:
                                                    description: >
                                                      Identification of the network segment to
                                                      which the Cp instance connects to. See
                                                      note 3 and note 4.
                                                    type: string
                                                  ipAddresses:
                                                    description: >
                                                      Addresses assigned to the CP instance.
                                                      Each entry represents IP addresses
                                                      assigned by fixed or dynamic IP address
                                                      assignment per subnet. See note 1.
                                                    type: array
                                                    items:
                                                      type: object
                                                      required:
                                                        - type
                                                      oneOf:
                                                        - required:
                                                            - addresses
                                                        - required:
                                                            - addressRange
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values: - IPV4 - IPV6
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        addresses:
                                                          description: >
                                                            Fixed addresses assigned (from the
                                                            subnet defined by "subnetId" if
                                                            provided). See note 2.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                        isDynamic:
                                                          description: >
                                                            Indicates whether this set of addresses
                                                            was assigned dynamically (true) or based
                                                            on address information provided as input
                                                            from the API consumer (false). Shall be
                                                            present if "addresses" is present and
                                                            shall be absent otherwise.
                                                          type: boolean
                                                        addressRange:
                                                          description: >
                                                            An IP address range used, e.g., in case
                                                            of egress connections. Exactly one of
                                                            "addresses" or "addressRange" shall be
                                                            present. See note 2.
                                                          type: object
                                                          required:
                                                            - minAddress
                                                            - maxAddress
                                                          properties:
                                                            minAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                            maxAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                        subnetId:
                                                          description: >
                                                            An identifier maintained by the VIM or
                                                            other resource provider. It is expected
                                                            to be unique within the VIM instance.
                                                            Representation: string of variable
                                                            length.
                                                          type: string
                                                  type:
                                                    description: |
                                                      The type of the IP addresses
                                                    type: string
                                                    enum:
                                                      - PV4
                                                      - PV6
                                                  addresses:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  isDynamic:
                                                    description: >
                                                      Indicates whether this set of addresses
                                                      was assigned dynamically (true) or based
                                                      on address information provided as input
                                                      from the API consumer (false). Shall be
                                                      present if "addresses" is present and
                                                      shall be absent otherwise.
                                                    type: boolean
                                                  addressRange:
                                                    description: >
                                                      An IP address range used, e.g. in case
                                                      of egress connections. See note.
                                                    type: object
                                                    required:
                                                      - minAddress
                                                      - maxAddress
                                                    properties:
                                                      minAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      maxAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  subnetId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                        parentCpId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        vnfLinkPortId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          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
                                  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
                            vnfVirtualLinkResourceInfo:
                              description: >
                                Information about the virtualised network
                                resources used by the VLs of the VNF instance.
                                See note 5.
                              type: array
                              items:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by an internal VL instance in a VNF
                                  instance.
                                type: object
                                required:
                                  - id
                                  - vnfVirtualLinkDescId
                                  - networkResource
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfVirtualLinkDescId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  networkResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  reservationId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfLinkPorts:
                                    description: >
                                      Links ports of this VL. Shall be present
                                      when the linkPort is used for external
                                      connectivity by the VNF (refer to
                                      VnfLinkPortInfo). May be present
                                      otherwise.
                                    type: array
                                    items:
                                      type: object
                                      description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpInstanceType:
                                          description: >
                                            Type of the CP instance that is
                                            identified by cpInstanceId. Shall be
                                            present if "cpInstanceId" is present,
                                            and shall be absent otherwise. Permitted
                                            values: * VNFC_CP: The link port is
                                            connected to a VNFC CP * EXT_CP: The
                                            link port is associated to an external
                                            CP. See note 1.
                                          type: string
                                          enum:
                                            - VNFC_CP
                                            - EXT_CP
                                        vipCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          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
                            virtualStorageResourceInfo:
                              description: >
                                Information on the virtualised storage
                                resource(s) used as storage for the VNF
                                instance.
                              type: array
                              items:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance.
                                type: object
                                required:
                                  - id
                                  - virtualStorageDescId
                                  - storageResource
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  virtualStorageDescId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  storageResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  reservationId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    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
                        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
                        extensions:
                          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
                  pnfInfo:
                    description: >
                      Information on the PNF(s) that are part of the NS
                      instance.
                    type: array
                    items:
                      description: >
                        This type represents the information about a PNF that is
                        part of an NS instance.  It shall comply with the
                        provisions defined in Table 6.5.3.13-1.
                      type: object
                      required:
                        - pnfId
                        - pnfdId
                        - pnfdInfoId
                        - pnfProfileId
                      properties:
                        pnfId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        pnfName:
                          description: |
                            Name of the PNF.
                          type: string
                        pnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        pnfdInfoId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        pnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        cpInfo:
                          description: >
                            This type represents the information about the
                            external CP of the PNF.  It shall comply with the
                            provisions defined in Table 6.5.3.17-1.
                          type: object
                          required:
                            - cpInstanceId
                            - cpdId
                          properties:
                            cpInstanceId:
                              description: >
                                An Identifier that is unique within respect to a
                                PNF. Representation: string of variable length.
                              type: string
                            cpdId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            cpProtocolData:
                              description: >
                                Parameters for configuring the network protocols
                                on the CP.
                              type: array
                              items:
                                description: |
                                  This type represents network protocol data.
                                type: object
                                required:
                                  - layerProtocol
                                properties:
                                  layerProtocol:
                                    description: >
                                      Identifier of layer(s) and protocol(s).
                                      Permitted values: IP_OVER_ETHERNET.
                                    type: string
                                    enum:
                                      - IP_OVER_ETHERNET
                                  ipOverEthernet:
                                    description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                    type: object
                                    anyOf:
                                      - required:
                                          - ipAddresses
                                      - required:
                                          - macAddress
                                    properties:
                                      macAddress:
                                        description: >
                                          A MAC address. Representation: string
                                          that consists of groups of two
                                          hexadecimal digits, separated by hyphens
                                          or colons.
                                        type: string
                                        format: MAC
                                      segmentationType:
                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                        type: string
                                        enum:
                                          - VLAN
                                          - INHERIT
                                      segmentationId:
                                        description: >
                                          Identification of the network segment to
                                          which the CP instance connects to. See
                                          note 3 and note 4.
                                        type: string
                                      ipAddresses:
                                        description: >
                                          List of IP addresses to assign to the CP
                                          instance. Each entry represents IP
                                          address data for fixed or dynamic IP
                                          address assignment per subnet. If this
                                          attribute is not present, no IP address
                                          shall be assigned. See note 1.
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - type
                                          oneOf:
                                            - required:
                                                - fixedAddresses
                                            - required:
                                                - numDynamicAddresses
                                            - required:
                                                - addressRange
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values:
                                                  - IPV4
                                                  - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            fixedAddresses:
                                              description: >
                                                Fixed addresses to assign (from the
                                                subnet defined by "subnetId" if
                                                provided). Exactly one of
                                                "fixedAddresses", "numDynamicAddresses"
                                                or "ipAddressRange" shall be present.
                                              type: array
                                              items:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                            numDynamicAddresses:
                                              description: >
                                                Number of dynamic addresses to assign
                                                (from the subnet defined by "subnetId"
                                                if provided). See note 2.
                                              type: integer
                                            addressRange:
                                              description: >
                                                An IP address range to be used, e.g. in
                                                case of egress connections. In case this
                                                attribute is present, IP addresses from
                                                the range will be used.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                  virtualLinkInfo:
                    description: >
                      Information on the VL(s) of the NS instance. This
                      attribute shall be present if the nsState attribute value
                      is INSTANTIATED and if the NS instance has specified
                      connectivity.
                    type: array
                    items:
                      description: "This type specifies the information about an NS VL instance.  It shall comply with the provisions defined in Table 6.5.3.53-1.\nNOTE:\tAs an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink shall be the same as the corresponding NsVirtualLink.\n"
                      type: object
                      required:
                        - id
                        - nsVirtualLinkDescId
                        - nsVirtualLinkProfileId
                      properties:
                        id:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        nsVirtualLinkDescId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        nsVirtualLinkProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        resourceHandle:
                          description: >
                            Identifier(s) of the virtualised network resource(s)
                            and/or multi-site connectivity service(s) realizing
                            the VL instance. See note.
                          type: array
                          items:
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance or by an NS instance. Information
                              about the resource is available from the VIM.
                              NOTE: The value set of the "vimLevelResourceType"
                              attribute is within the scope of the VIM, the WIM
                              or the resource provider and can be used as
                              information that complements the ResourceHandle.
                            type: object
                            required:
                              - resourceId
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceProviderId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceId:
                                description: >
                                  An identifier maintained by the VIM or other
                                  resource provider. It is expected to be unique
                                  within the VIM instance. Representation:
                                  string of variable length.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM,
                                  the WIM or the resource provider. The value
                                  set of the "vimLevelResourceType" attribute is
                                  within the scope of the VIM, the WIM or the
                                  resource provider and can be used as
                                  information that complements the
                                  ResourceHandle. See note.
                                type: string
                        linkPort:
                          description: >
                            Link ports of the VL instance. Cardinality of zero
                            indicates that no port has yet been created for the
                            VL instance.
                          type: array
                          items:
                            description: "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1. NOTE:\tWhen the NsVirtualLink, from which the present NsLinkPort is part of, is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtLinkPort shall be the same as the corresponding NsLinkPort.\n"
                            type: object
                            required:
                              - id
                              - resourceHandle
                            properties:
                              id:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceHandle:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              nsCpHandle:
                                description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                                type: object
                                oneOf:
                                  - required:
                                      - vnfInstanceId
                                      - vnfExtCpInstanceId
                                  - required:
                                      - pnfInfoId
                                      - pnfExtCpInstanceId
                                  - required:
                                      - nsInstanceId
                                      - nsSapInstanceId
                                properties:
                                  vnfInstanceId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfExtCpInstanceId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  pnfInfoId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  pnfExtCpInstanceId:
                                    description: >
                                      An Identifier that is unique within
                                      respect to a PNF. Representation: string
                                      of variable length.
                                    type: string
                                  nsInstanceId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  nsSapInstanceId:
                                    description: >
                                      An identifier that is unique with respect
                                      to a NS. Representation: string of
                                      variable length.
                                    type: string
                  vnffgInfo:
                    description: |
                      Information on the VNFFG(s) of the NS instance.
                    type: array
                    items:
                      description: "Information on the VNFFG(s) of the NS instance. NOTE:\tIt indicates an exhaustive list of all the CP instances and SAP instances of the VNFFG.\n"
                      type: object
                      required:
                        - id
                        - vnffgdId
                        - vnfInstanceId
                        - pnfInfoId
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnffgdId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        vnfInstanceId:
                          description: >
                            Identifier(s) of the constituent VNF instance(s) of
                            this VNFFG instance.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        pnfdInfoId:
                          description: >
                            Identifier(s) of the constituent PNF instance(s) of
                            this VNFFG instance.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        nsVirtualLinkInfoId:
                          description: >
                            Identifier(s) of the constituent VL instance(s) of
                            this VNFFG instance.
                          type: array
                          items:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                        nsCpHandle:
                          description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                          type: object
                          oneOf:
                            - required:
                                - vnfInstanceId
                                - vnfExtCpInstanceId
                            - required:
                                - pnfInfoId
                                - pnfExtCpInstanceId
                            - required:
                                - nsInstanceId
                                - nsSapInstanceId
                          properties:
                            vnfInstanceId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vnfExtCpInstanceId:
                              description: >
                                An identifier that is unique for the respective
                                type within a VNF instance, but may not be
                                globally unique.
                              type: string
                            pnfInfoId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            pnfExtCpInstanceId:
                              description: >
                                An Identifier that is unique within respect to a
                                PNF. Representation: string of variable length.
                              type: string
                            nsInstanceId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            nsSapInstanceId:
                              description: >
                                An identifier that is unique with respect to a
                                NS. Representation: string of variable length.
                              type: string
                  sapInfo:
                    description: |
                      Information on the SAP(s) of the NS instance.
                    type: array
                    items:
                      description: >
                        This type represents an SAP instance. It shall comply
                        with the provisions defined in Table 6.5.3.67-1.
                      type: object
                      required:
                        - id
                        - sapdId
                        - sapName
                        - sapProtocolInfo
                      properties:
                        id:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        sapdId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        sapName:
                          description: |
                            Human readable name for the SAP instance.
                          type: string
                        description:
                          description: |
                            Human readable description for the SAP instance.
                          type: string
                        sapProtocolInfo:
                          description: |
                            Network protocol information for this SAP.
                          type: array
                          items:
                            description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                            type: object
                            required:
                              - layerProtocol
                              - ipOverEthernet
                            properties:
                              layerProtocol:
                                description: >
                                  The identifier of layer(s) and protocol(s)
                                  associated to the network address information.
                                  Permitted values:
                                    - IP_OVER_ETHERNET

                                  See note.
                                type: string
                                enum:
                                  - IP_OVER_ETHERNET
                              ipOverEthernet:
                                description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                type: object
                                anyOf:
                                  - required:
                                      - macAddress
                                  - required:
                                      - ipAddresses
                                properties:
                                  macAddress:
                                    description: >
                                      A MAC address. Representation: string that
                                      consists of groups of two hexadecimal
                                      digits, separated by hyphens or colons.
                                    type: string
                                    format: MAC
                                  segmentationId:
                                    description: >
                                      Identification of the network segment to
                                      which the Cp instance connects to. See
                                      note 3 and note 4.
                                    type: string
                                  ipAddresses:
                                    description: >
                                      Addresses assigned to the CP instance.
                                      Each entry represents IP addresses
                                      assigned by fixed or dynamic IP address
                                      assignment per subnet. See note 1.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - type
                                      oneOf:
                                        - required:
                                            - addresses
                                        - required:
                                            - addressRange
                                      properties:
                                        type:
                                          description: >
                                            The type of the IP addresses. Permitted
                                            values: - IPV4 - IPV6
                                          type: string
                                          enum:
                                            - IPV4
                                            - IPV6
                                        addresses:
                                          description: >
                                            Fixed addresses assigned (from the
                                            subnet defined by "subnetId" if
                                            provided). See note 2.
                                          type: array
                                          items:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                        isDynamic:
                                          description: >
                                            Indicates whether this set of addresses
                                            was assigned dynamically (true) or based
                                            on address information provided as input
                                            from the API consumer (false). Shall be
                                            present if "addresses" is present and
                                            shall be absent otherwise.
                                          type: boolean
                                        addressRange:
                                          description: >
                                            An IP address range used, e.g., in case
                                            of egress connections. Exactly one of
                                            "addresses" or "addressRange" shall be
                                            present. See note 2.
                                          type: object
                                          required:
                                            - minAddress
                                            - maxAddress
                                          properties:
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                        subnetId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                  type:
                                    description: |
                                      The type of the IP addresses
                                    type: string
                                    enum:
                                      - PV4
                                      - PV6
                                  addresses:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  isDynamic:
                                    description: >
                                      Indicates whether this set of addresses
                                      was assigned dynamically (true) or based
                                      on address information provided as input
                                      from the API consumer (false). Shall be
                                      present if "addresses" is present and
                                      shall be absent otherwise.
                                    type: boolean
                                  addressRange:
                                    description: >
                                      An IP address range used, e.g. in case of
                                      egress connections. See note.
                                    type: object
                                    required:
                                      - minAddress
                                      - maxAddress
                                    properties:
                                      minAddress:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                      maxAddress:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                  minAddress:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  maxAddress:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  subnetId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                  nestedNsInstanceId:
                    description: >
                      Identifier of the nested NS(s) of the NS instance. See
                      note.
                    type: array
                    items:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                  vnfSnapshotInfoIds:
                    description: >
                      Identifier of information on VNF snapshots of VNF
                      instances that are part of this NS instance.
                    type: array
                    items:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                  nsState:
                    description: >
                      The state of the NS instance. Permitted values:
                      NOT_INSTANTIATED: The NS instance is terminated or not
                      instantiated. INSTANTIATED: The NS instance is
                      instantiated.
                    type: string
                    enum:
                      - NOT_INSTANTIATED
                      - INSTANTIATED
                  monitoringParameter:
                    description: >
                      Performance metrics tracked by the NFVO (e.g. for
                      auto-scaling purposes) as identified by the NS designer in
                      the NSD.
                    type: array
                    items:
                      description: >
                        This type represents a monitoring parameter that is
                        tracked by the NFVO, for example,  for auto-scaling
                        purposes. It shall comply with the provisions defined in
                        Table 6.5.3.68-1.
                      type: object
                      required:
                        - id
                        - performanceMetric
                      properties:
                        id:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        name:
                          description: >
                            Human readable name of the monitoring parameter, as
                            defined in the NSD.
                          type: string
                        performanceMetric:
                          description: >
                            Performance metric that is monitored. This attribute
                            shall contain the related  "Measurement Name" value
                            as defined in clause 7.2 of ETSI GS NFV-IFA 027.
                          type: string
                  nsScaleStatus:
                    description: >
                      Status of each NS scaling aspect declared in the
                      applicable DF, how "big" the NS instance has been scaled
                      w.r.t. that aspect. This attribute shall be present if the
                      nsState attribute value is INSTANTIATED.
                    type: array
                    items:
                      description: >
                        This type represents the target NS Scale level for each
                        NS scaling aspect of the current deployment flavor.
                      type: object
                      required:
                        - nsScalingAspectId
                        - nsScaleLevelId
                      properties:
                        nsScalingAspectId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        nsScaleLevelId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                  additionalAffinityOrAntiAffinityRule:
                    description: >
                      Information on the additional affinity or anti-affinity
                      rule from NS instantiation operation. Shall not conflict
                      with rules already specified in the NSD.
                    type: array
                    items:
                      description: >
                        This type describes the additional affinity or
                        anti-affinity rule applicable between the VNF instances
                        to be instantiated in the NS instantiation operation
                        request or between the VNF instances to be instantiated
                        in the NS instantiation operation request and the
                        existing VNF instances..
                      type: object
                      required:
                        - affinityOrAntiAffiinty
                        - scope
                      properties:
                        vnfdId:
                          description: >
                            Reference to a VNFD. When the VNFD which is not used
                            to instantiate VNF, it presents all VNF instances of
                            this type as the subjects of the affinity or
                            anti-affinity rule. The VNF instance which the VNFD
                            presents is not necessary as a part of the NS to be
                            instantiated.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        vnfProfileId:
                          description: >
                            Reference to a vnfProfile defined in the NSD. At
                            least one VnfProfile which is used to instantiate
                            VNF for the NS to be instantiated as the subject of
                            the affinity or anti-affinity rule shall be present.
                            When the VnfProfile which is not used to instantiate
                            VNF, it presents all VNF instances of this type as
                            the subjects of the affinity or anti-affinity rule.
                            The VNF instance which the VnfProfile presents is
                            not necessary as a part of the NS to be
                            instantiated.
                          type: array
                          items:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                        vnfInstanceId:
                          description: >
                            Reference to the existing VNF instance as the
                            subject of the affinity or anti-affinity rule. The
                            existing VNF instance is not necessary as a part of
                            the NS to be instantiated.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        affinityOrAntiAffiinty:
                          description: >
                            The type of the constraint. Permitted values:
                            AFFINITY ANTI_AFFINITY.
                          type: string
                          enum:
                            - AFFINITY
                            - ANTI_AFFINITY
                        scope:
                          description: >
                            Specifies the scope of the rule where the placement
                            constraint applies. Permitted values: NFVI_POP ZONE
                            ZONE_GROUP NFVI_NODE.
                          type: string
                          enum:
                            - NFVI_POP
                            - ZONE
                            - ZONE_GROUP
                            - NFVI_NODE
                  wanConnectionInfo:
                    description: >
                      Information about WAN related connectivity enabling
                      multi-site VLs.
                    type: array
                    items:
                      description: "This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,\nwhen the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.\nNOTE:\tEither a \"nsVirtualLinkInfoId\" or a \"vnfVirtualLinkResourceInfoId\" shall be provided, but not both.\n"
                      type: object
                      required:
                        - wanConnectionInfoId
                      oneOf:
                        - required:
                            - nsVirtualLinkInfoId
                        - required:
                            - vnfVirtualLinkResourceInfoId
                      properties:
                        wanConnectionInfoId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        nsVirtualLinkInfoId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        vnfVirtualLinkResourceInfoId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        protocolInfo:
                          description: >
                            This type provides protocol specific information
                            about the connectivity to the WAN of network
                            resources realizing

                            a VL, e.g., when the VL is deployed on several sites
                            and across a WAN, and the related multi-site
                            connectivity

                            service (MSCS) enabling the connectivity through the
                            WAN. This type supports providing information about
                            both

                            pre-provisioned WAN connectivity realized by
                            external entities to NFV-MANO but parts of such
                            connectivity is known

                            to the NFVO, as well as information about MSCS
                            created under NFV-MANO responsibility (i.e.,
                            connectivity is realized

                            when NFVO communicates with the WIM).  It shall
                            comply with the provisions defined in table
                            6.5.3.91-1.
                          type: object
                          properties:
                            mscsInfo:
                              description: >
                                This type provides information about an already
                                provisioned multi-site connectivity service
                                (MSCS) deployed across a WAN. It shall comply
                                with the provisions defined in Table 6.5.3.82-1.
                              type: object
                              required:
                                - mscsId
                                - mscsType
                              properties:
                                mscsId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                mscsName:
                                  description: |
                                    Human readable name of the MSCS.
                                  type: string
                                mscsDescription:
                                  description: |
                                    Human readable description of the MSCS.
                                  type: string
                                mscsType:
                                  description: "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n"
                                  type: string
                                  enum:
                                    - L2VPN
                                    - L3VPN
                                mscsLayerProtocol:
                                  description: "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n"
                                  type: string
                                  enum:
                                    - EVPN_BGP_MPLS
                                    - EVPN_VPWS
                                    - VPLS_BGP
                                    - VPLS_LDP
                                    - VPWS
                                    - BGP_IP_VPN
                                siteAccessProtectionSchemes:
                                  description: >
                                    Information to determine the proper MSCS
                                    endpoints configuration to fulfil certain
                                    resiliency/protection requirements, e.g., by
                                    considering certain availability and
                                    redundancy of connectivity service endpoints
                                    in between NFVI-PoP and WAN.
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      locationConstraints:
                                        description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                                        type: object
                                        properties:
                                          countryCode:
                                            description: >
                                              The two-letter ISO 3166 country code in
                                              capital letters. Shall be present in
                                              case the "area" attribute is absent. May
                                              be absent if the "area" attribute is
                                              present (see note).
                                            type: string
                                          civicAddressElement:
                                            description: >
                                              Zero or more elements comprising the
                                              civic address. Shall be absent if the
                                              "area" attribute is present.
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - caType
                                                - caValue
                                              properties:
                                                caType:
                                                  description: >
                                                    Describe the content type of caValue.
                                                    The value of caType shall comply with
                                                    Section 3.4 of IETF RFC 4776 [13].
                                                  type: integer
                                                caValue:
                                                  description: >
                                                    Content of civic address element
                                                    corresponding to the caType. The format
                                                    caValue shall comply with Section 3.4 of
                                                    IETF RFC 4776 [13].
                                                  type: string
                                          area:
                                            description: >
                                              Geographic area. Shall be absent if the
                                              "civicAddressElement" attribute is
                                              present. The content of this attribute
                                              shall follow the provisions for the
                                              "Polygon" geometry object as defined in
                                              IETF RFC 7946, for which the "type"
                                              member shall be set to the value
                                              "Polygon". See note.
                                            type: object
                                      protectionScheme:
                                        description: "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n"
                                        type: string
                                        enum:
                                          - UNPROTECTED
                                          - ONE_TO_ONE
                                          - ONE_PLUS_ONE
                                          - ONE_TO_N
                                mtuMscs:
                                  description: >
                                    Maximum Transmission Unit (MTU) that can be
                                    forwarded over the MSCS (in bytes). Default
                                    value is "1500" (bytes).
                                  type: number
                                mscsEndpoints:
                                  description: >
                                    Information about the MSCS endpoints of the
                                    MSCS.
                                  type: array
                                  items:
                                    description: >
                                      This type provides encapsulates
                                      information about an MSCS endpoint of the
                                      MSCS. It shall comply with the provisions
                                      defined in table 6.5.3.83-1.
                                    type: object
                                    required:
                                      - mscsEndpointId
                                      - directionality
                                      - connectivityServiceEndpoinId
                                    properties:
                                      mscsEndpointId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      directionality:
                                        description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                        type: string
                                        enum:
                                          - INBOUND
                                          - OUTBOUND
                                          - BOTH
                                      connectivityServiceEndpoinId:
                                        description: >
                                          References the connectivity service
                                          endpoint configuration information
                                          applicable to support the MSCS endpoint.
                                          More than one connectivity service
                                          endpoint can be referred when endpoints
                                          are in LAG mode.
                                        type: array
                                        items:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                            connectivityServiceEndpoints:
                              description: >
                                Configuration information about the network
                                resources in the NFVI-PoP and their connectivity
                                to the WAN.
                              type: array
                              items:
                                description: >
                                  This type provides configuration data for the
                                  NFVI-PoP network gateway providing
                                  connectivity service endpoints. The
                                  connectivity service endpoints are used as
                                  endpoints by an MSCS. It shall comply with the
                                  provisions defined in Table 6.5.3.84-1.
                                type: object
                                required:
                                  - connectivityServiceEndpointId
                                  - vimId
                                properties:
                                  connectivityServiceEndpointId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  siteToWanLayer2ProtocolData:
                                    description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                    type: object
                                    required:
                                      - layer2ConnectionInfo
                                    properties:
                                      layer2ConnectionInfo:
                                        description: >
                                          Layer 2 protocol parameters of the
                                          connectivity service endpoint (CSE).
                                        type: object
                                        required:
                                          - connectionType
                                          - interfaceType
                                          - interfaceTagging
                                          - encapsulationType
                                        properties:
                                          connectionType:
                                            description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                            type: string
                                            enum:
                                              - CSE
                                              - AGGREGATE_CSE
                                          interfaceType:
                                            description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                            type: string
                                            enum:
                                              - PARENT
                                              - LOGICAL
                                          interfaceTagging:
                                            description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                            type: string
                                            enum:
                                              - UNTAGGED
                                              - TAGGED
                                          encapsulationType:
                                            description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                            type: string
                                            enum:
                                              - ETH
                                              - VLAN
                                              - VXLAN
                                          vlanTaggingType:
                                            description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                            type: string
                                            enum:
                                              - DOT1Q
                                              - QINQ
                                              - QINANY
                                          wanSegmentIds:
                                            description: >
                                              Segment identifiers to pass on the
                                              tagged interface. Shall be present if
                                              encapsulationType="VLAN" or “VXLAN".
                                            type: object
                                            required:
                                              - wanSegmentIdValue
                                            properties:
                                              wanSegmentIdValue:
                                                description: >
                                                  Identifier of the network segment (e.g.,
                                                  VLAN id or VNI).
                                                type: string
                                              wanSegmentIdUpperRange:
                                                description: >
                                                  Identifier of the upper range network
                                                  segment, in case the "wanSegmentIds" is
                                                  used to define a range.
                                                type: string
                                          vxlanConfig:
                                            description: >
                                              Additional configuration needed when
                                              using VXLAN encapsulation. Shall be
                                              present if interfaceTagging="TAGGED" and
                                              encapsulationType="VXLAN".
                                            type: object
                                            required:
                                              - peerMode
                                            properties:
                                              peerMode:
                                                description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                                type: string
                                                enum:
                                                  - STATIC
                                                  - BGP_EVPN
                                              peers:
                                                description: >
                                                  List of IP addresses of VTEP peers when
                                                  using static mode.
                                                type: array
                                                items:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                          lagInterfaceData:
                                            description: >
                                              Information for setting up a LAG
                                              interface aggregating multiple
                                              connectivity service endpoints.
                                            type: object
                                            required:
                                              - aggregatedEndpoints
                                              - lacpActivation
                                              - lacpConfig
                                            properties:
                                              aggregatedEndpoints:
                                                description: >
                                                  List of the connectivity service
                                                  endpoints that are to be aggregated.
                                                  Shall be present if
                                                  connectionType="AGGREGATE_CSE". In case
                                                  of aggregating connectivity service
                                                  endpoints, only one
                                                  SiteToWanLayer2ProtocolData shall be
                                                  provided for the whole set of aggregated
                                                  endpoints.
                                                type: array
                                                items:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                              lacpActivation:
                                                description: >
                                                  Indicates whether to activate LACP on
                                                  the interface. If "TRUE", the LACP is to
                                                  be activated, or "FALSE" otherwise.
                                                  Default value is "FALSE".
                                                type: boolean
                                              lacpConfig:
                                                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
                                          layer2ControlProtocol:
                                            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
                                      mtuL2:
                                        description: >
                                          Maximum Transmission Unit (MTU) that can
                                          be forwarded at layer 2 (in bytes).
                                          Default value is "1500" (bytes).
                                        type: number
                                      virtualRoutingAndForwarding:
                                        description: >
                                          Configuration related to the L2 virtual
                                          routing and forwarding (MAC-VRF).
                                        type: object
                                        required:
                                          - macVrfName
                                        properties:
                                          macVrfName:
                                            description: >
                                              Name (or identifier) of the MAC-VRF
                                              instance.
                                            type: string
                                      forwardingConfig:
                                        description: >
                                          Information related to the forwarding of
                                          the VN in the NFVI-PoP to the
                                          connectivity service endpoint, if
                                          information about the VN to "stitch" is
                                          already known. . by the OSS/BSS. Shall
                                          not be provided otherwise, in which case
                                          the NFVO will infer the forwarding
                                          configuration based on the NS VL, or
                                          external VL, or externally-managed VL
                                          provisioning.
                                        type: object
                                        oneOf:
                                          - required:
                                              - networkResources
                                          - required:
                                              - vnSegmentIds
                                        properties:
                                          networkResources:
                                            description: >
                                              Reference to the VN resource to be
                                              forwarded into/from the MSCS. See note.
                                            type: array
                                            items:
                                              description: >
                                                This type represents the information
                                                that allows addressing a virtualised
                                                resource that is used by a VNF instance
                                                or by an NS instance. Information about
                                                the resource is available from the VIM.
                                                NOTE: The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle.
                                              type: object
                                              required:
                                                - resourceId
                                              properties:
                                                vimId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceProviderId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                                vimLevelResourceType:
                                                  description: >
                                                    Type of the resource in the scope of the
                                                    VIM, the WIM or the resource provider.
                                                    The value set of the
                                                    "vimLevelResourceType" attribute is
                                                    within the scope of the VIM, the WIM or
                                                    the resource provider and can be used as
                                                    information that complements the
                                                    ResourceHandle. See note.
                                                  type: string
                                          vnSegmentIds:
                                            description: >
                                              Identifiers of the network segments of
                                              the VN resources to be forwarded
                                              into/from the MSCS.
                                            type: object
                                            required:
                                              - vnSegmentIdValue
                                            properties:
                                              vnSegmentIdValue:
                                                description: |
                                                  Identifier of the network segment.
                                                type: string
                                              vnSegmentIdUpperRange:
                                                description: >
                                                  Identifier of the upper range network
                                                  segment, in case the "vnSegmentIds" is
                                                  used to define a range.
                                                type: string
                                  siteToWanLayer3ProtocolData:
                                    description: >
                                      This type provides information about Layer
                                      3 protocol specific information for the
                                      stitching of the intra-site VN to the
                                      multi-site connectivity service over the
                                      WAN. It shall comply with the provisions
                                      defined in Table 6.5.3.86-1.
                                    type: object
                                    required:
                                      - routingInfo
                                    properties:
                                      logicalInterfaceIpAddress:
                                        description: >
                                          IP addressing information associated to
                                          a logical interface. Shall be present if
                                          the "interfaceType" of the
                                          SiteToWanLayer2ProtocolData is equal to
                                          "LOGICAL".
                                        type: object
                                        required:
                                          - ipAddress
                                          - associatedSegmentId
                                        properties:
                                          ipAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          associatedSegmentId:
                                            description: >
                                              The associated segment identifier that
                                              has triggered the creation of the
                                              logical interface. The value shall be
                                              one of the values listed in the
                                              "wanSegmentIds" of the
                                              "siteToWanLayer2ProtocolData".
                                            type: string
                                      routingInfo:
                                        description: >
                                          The routing information that is
                                          activated on the connectivity service
                                          endpoint. More than one "routingInfo" is
                                          allowed to enable stacking different
                                          routing protocols (e.g., one routing
                                          protocol for IPv4 and another one for
                                          IPv6).
                                        type: object
                                        required:
                                          - routingProtocol
                                          - routingAddressFamily
                                        properties:
                                          routingProtocol:
                                            description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                            type: string
                                            enum:
                                              - BGP
                                              - RIP
                                              - OSPF
                                              - STATIC
                                              - DIRECT
                                              - VRRP
                                          staticRouting:
                                            description: >
                                              Defines a static route. It shall only be
                                              present if the routingProtocol="STATIC".
                                            type: object
                                            required:
                                              - ipVersion
                                              - ipPrefix
                                              - prefixSize
                                              - nextHop
                                            properties:
                                              ipVersion:
                                                description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                                type: string
                                                enum:
                                                  - IPV4
                                                  - IPV6
                                              ipPrefix:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              prefixSize:
                                                description: |
                                                  The IP prefix size.
                                                type: number
                                              nextHop:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          routingAddressFamily:
                                            description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPv6
                                          ospfRouting:
                                            description: >
                                              Defines parameters for OSPF routing. It
                                              shall only be present if the
                                              routingProtocol="OSPF".
                                            type: object
                                            required:
                                              - areaId
                                            properties:
                                              areaId:
                                                description: >
                                                  The routing area identifier, e.g., a
                                                  number or an IP address.
                                                type: string
                                          bgpRouting:
                                            description: >
                                              Defines parameters for BGP routing. It
                                              shall only be present if the
                                              routingProtocol="BGP".
                                            type: object
                                            required:
                                              - bgpAs
                                            properties:
                                              bgpAs:
                                                description: >
                                                  The Autonomous System (AS)
                                                  identification applicable to the BGP
                                                  routing info entry.
                                                type: object
                                              bgpNeighbour:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              bgpAdditionalParam:
                                                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
                                          routeMapsDistribution:
                                            description: >
                                              Maps of routes that are permitted or
                                              denied for redistribution.
                                            type: object
                                            required:
                                              - policy
                                              - sequence
                                              - matchAndSetRule
                                            properties:
                                              policy:
                                                description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                                type: string
                                                enum:
                                                  - PERMIT
                                                  - DENY
                                              sequence:
                                                description: >
                                                  Sequence or index number assigned to the
                                                  route-map.
                                                type: number
                                              matchAndSetRule:
                                                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
                                      mtuL3:
                                        description: >
                                          Maximum Transmission Unit (MTU) that can
                                          be forwarded at layer 3 (in bytes).
                                          Default value is "1500" (bytes).
                                        type: number
                                      virtualRoutingAndForwarding:
                                        description: >
                                          Configuration related to the virtual
                                          routing and forwarding (VRF).
                                        type: object
                                        required:
                                          - vrfName
                                        properties:
                                          vrfName:
                                            description: >
                                              Name (or identifier) of the VRF
                                              instance.
                                            type: string
                                      bfdConfig:
                                        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
                  _links:
                    type: object
                    description: Links to resources related to this resource.
                    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
                      nestedNsInstances:
                        description: |
                          Links to resources related to this notification.
                        type: array
                        items:
                          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
                      vnfSnapshotInfos:
                        description: >
                          Links to the VNF snapshots associated to VNF instances
                          which are part of this NS instance.
                        type: array
                        items:
                          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
                      instantiate:
                        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
                      terminate:
                        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
                      update:
                        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
                      scale:
                        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
                      heal:
                        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
        '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
    delete:
      description: >
        This method deletes an "Individual NS instance" resource. See clause
        6.4.3.3.5.
      responses:
        '204':
          description: >
            204 No Content

            Shall be returned when the "Individual NS instance" resource and the
            associated NS identifier have 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
            WWW-Authenticate:
              description: >
                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
        '409':
          description: >
            409 CONFLICT

            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a conflict

            with the state of the resource.

            Typically, this is due to the fact that the NS instance resource is
            in INSTANTIATED state.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey

            more information about the error.
          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:
            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
        '412':
          description: >
            412 PRECONDITION FAILED

            Error: A precondition given in an HTTP request header is not
            fulfilled. Typically, this is due to an ETag mismatch, indicating
            that the resource was modified by another entity. The response body
            should contain a ProblemDetails structure, in which the "detail"
            attribute should convey more information about the error.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              schema:
                type: string
                maximum: 1
                minimum: 0
            Version:
              description: |
                Version of the API used in the response.
              schema:
                type: string
                maximum: 1
                minimum: 1
          content:
            application/json:
              schema:
                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
  '/ns_instances/{nsInstanceId}/instantiate':
    parameters:
      - name: nsInstanceId
        in: path
        description: |
          Identifier of the NS instance.
        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:
      description: |
        The POST method instantiates an NS instance. See clause 6.4.4.3.1.
      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: >
          Parameters for the instantiate NS operation, as defined in clause
          6.5.2.11.
        content:
          application/json:
            schema:
              type: object
              description: "This type represents request parameters for the \"Instantiate NS\" operation.\nNOTE 1: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile. NOTE 2:\tThe NS DF of each nested NS shall be one of the allowed flavours in the associated\n  NSD (as referenced in the nestedNsd attribute of the NSD of the NS to be instantiated).\nNOTE 3:\tThe NSD of each referenced NSs (i.e. each nestedInstanceId) shall match the one of the nested NSD in the composite NSD. NOTE 4:\tWhen the NS is deployed over several sites, the VLs of this NS will include VNs in each site connected over the WAN. In this case, the \"wanConnectionData\" provides the needed information required to connect each VN to the WAN. Annex E provides additional information and guidelines about the usage of the \"wanConnectionData\" attribute.\n"
              required:
                - nsFlavourId
              properties:
                nsFlavourId:
                  description: >
                    An identifier that is unique within a NS descriptor.
                    Representation: string of variable length.
                  type: string
                sapData:
                  description: |
                    Create data concerning the SAPs of this NS.
                  type: array
                  items:
                    description: >
                      This type represents the information related to a SAP of a
                      NS. It shall comply with the provisions defined in Table
                      6.5.3.10-1.
                    type: object
                    required:
                      - sapdId
                      - sapName
                      - description
                    properties:
                      sapdId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      sapName:
                        description: |
                          Human readable name for the SAP.
                        type: string
                      description:
                        description: |
                          Human readable description for the SAP.
                        type: string
                      sapProtocolData:
                        description: >
                          Parameters for configuring the network protocols on
                          the SAP.
                        type: array
                        items:
                          description: |
                            This type represents network protocol data.
                          type: object
                          required:
                            - layerProtocol
                          properties:
                            layerProtocol:
                              description: >
                                Identifier of layer(s) and protocol(s).
                                Permitted values: IP_OVER_ETHERNET.
                              type: string
                              enum:
                                - IP_OVER_ETHERNET
                            ipOverEthernet:
                              description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                              type: object
                              anyOf:
                                - required:
                                    - ipAddresses
                                - required:
                                    - macAddress
                              properties:
                                macAddress:
                                  description: >
                                    A MAC address. Representation: string that
                                    consists of groups of two hexadecimal
                                    digits, separated by hyphens or colons.
                                  type: string
                                  format: MAC
                                segmentationType:
                                  description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                  type: string
                                  enum:
                                    - VLAN
                                    - INHERIT
                                segmentationId:
                                  description: >
                                    Identification of the network segment to
                                    which the CP instance connects to. See note
                                    3 and note 4.
                                  type: string
                                ipAddresses:
                                  description: >
                                    List of IP addresses to assign to the CP
                                    instance. Each entry represents IP address
                                    data for fixed or dynamic IP address
                                    assignment per subnet. If this attribute is
                                    not present, no IP address shall be
                                    assigned. See note 1.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - type
                                    oneOf:
                                      - required:
                                          - fixedAddresses
                                      - required:
                                          - numDynamicAddresses
                                      - required:
                                          - addressRange
                                    properties:
                                      type:
                                        description: >
                                          The type of the IP addresses. Permitted
                                          values:
                                            - IPV4
                                            - IPV6
                                        type: string
                                        enum:
                                          - IPV4
                                          - IPV6
                                      fixedAddresses:
                                        description: >
                                          Fixed addresses to assign (from the
                                          subnet defined by "subnetId" if
                                          provided). Exactly one of
                                          "fixedAddresses", "numDynamicAddresses"
                                          or "ipAddressRange" shall be present.
                                        type: array
                                        items:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                      numDynamicAddresses:
                                        description: >
                                          Number of dynamic addresses to assign
                                          (from the subnet defined by "subnetId"
                                          if provided). See note 2.
                                        type: integer
                                      addressRange:
                                        description: >
                                          An IP address range to be used, e.g. in
                                          case of egress connections. In case this
                                          attribute is present, IP addresses from
                                          the range will be used.
                                        type: object
                                        required:
                                          - minAddress
                                          - maxAddress
                                        properties:
                                          minAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          maxAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                      subnetId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                addpnfData:
                  description: |
                    Information on the PNF(s) that are part of this NS.
                  type: array
                  items:
                    description: >
                      This type specifies an PNF to be added to the NS instance
                      and the PNF Profile to use for this PNF. It shall comply
                      with the provisions defined in Table 6.5.3.14-1.
                    type: object
                    required:
                      - pnfId
                      - pnfName
                      - pnfdId
                      - pnfProfileId
                    properties:
                      pnfId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      pnfName:
                        description: |
                          Name of the PNF
                        type: string
                      pnfdId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      pnfProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      cpData:
                        description: |
                          Address assigned for the PNF external CP(s).
                        type: array
                        items:
                          description: >
                            This type represents the configuration data on the
                            external CP of the PNF. It shall comply with the
                            provisions defined in Table 6.5.3.16-1.
                          type: object
                          required:
                            - cpProtocolData
                          properties:
                            cpInstanceId:
                              description: >
                                An Identifier that is unique within respect to a
                                PNF. Representation: string of variable length.
                              type: string
                            cpdId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            cpProtocolData:
                              description: |
                                Address assigned for this CP.
                              type: array
                              items:
                                description: |
                                  This type represents network protocol data.
                                type: object
                                required:
                                  - layerProtocol
                                properties:
                                  layerProtocol:
                                    description: >
                                      Identifier of layer(s) and protocol(s).
                                      Permitted values: IP_OVER_ETHERNET.
                                    type: string
                                    enum:
                                      - IP_OVER_ETHERNET
                                  ipOverEthernet:
                                    description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                    type: object
                                    anyOf:
                                      - required:
                                          - ipAddresses
                                      - required:
                                          - macAddress
                                    properties:
                                      macAddress:
                                        description: >
                                          A MAC address. Representation: string
                                          that consists of groups of two
                                          hexadecimal digits, separated by hyphens
                                          or colons.
                                        type: string
                                        format: MAC
                                      segmentationType:
                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                        type: string
                                        enum:
                                          - VLAN
                                          - INHERIT
                                      segmentationId:
                                        description: >
                                          Identification of the network segment to
                                          which the CP instance connects to. See
                                          note 3 and note 4.
                                        type: string
                                      ipAddresses:
                                        description: >
                                          List of IP addresses to assign to the CP
                                          instance. Each entry represents IP
                                          address data for fixed or dynamic IP
                                          address assignment per subnet. If this
                                          attribute is not present, no IP address
                                          shall be assigned. See note 1.
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - type
                                          oneOf:
                                            - required:
                                                - fixedAddresses
                                            - required:
                                                - numDynamicAddresses
                                            - required:
                                                - addressRange
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values:
                                                  - IPV4
                                                  - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            fixedAddresses:
                                              description: >
                                                Fixed addresses to assign (from the
                                                subnet defined by "subnetId" if
                                                provided). Exactly one of
                                                "fixedAddresses", "numDynamicAddresses"
                                                or "ipAddressRange" shall be present.
                                              type: array
                                              items:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                            numDynamicAddresses:
                                              description: >
                                                Number of dynamic addresses to assign
                                                (from the subnet defined by "subnetId"
                                                if provided). See note 2.
                                              type: integer
                                            addressRange:
                                              description: >
                                                An IP address range to be used, e.g. in
                                                case of egress connections. In case this
                                                attribute is present, IP addresses from
                                                the range will be used.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                vnfInstanceData:
                  description: >
                    Specify an existing VNF instance to be used in the NS. If
                    needed, the VNF Profile to be used for this VNF instance is
                    also provided. See note 1.
                  type: array
                  items:
                    description: >
                      This type specifies an existing VNF instance to be used in
                      the NS instance and if needed, the VNF Profile to use for
                      this VNF instance. It shall comply with the provisions
                      defined in Table 6.5.3.19-1.
                    type: object
                    required:
                      - vnfInstanceId
                      - vnfProfileId
                    properties:
                      vnfInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                nestedNsInstanceData:
                  description: >
                    Specify an existing NS instance to be used as a nested NS
                    within the NS. If needed, the NS Profile to be used for this
                    nested NS  instance is also provided. See note 2 and note 3.
                  type: array
                  items:
                    description: >
                      This type specifies an existing nested NS instance to be
                      used in the NS instance  and if needed, the NsProfile to
                      use for this nested NS instance.  It shall comply with the
                      provisions defined in Table 6.5.3.19a-1.
                    type: object
                    required:
                      - nestedNsInstanceId
                    properties:
                      nestedNsInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      nsProfileId:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                locationConstraints:
                  description: >
                    Defines the location constraints for the VNF to be
                    instantiated as part of the NS instantiation. An example can
                    be a constraint for the VNF to be in a specific geographic
                    location..
                  type: array
                  items:
                    description: >
                      This type represents the association of location
                      constraints to a VNF instance to be created according to a
                      specific VNF profile. It shall comply with the provisions
                      defined in Table 6.5.3.20-1.

                      NOTE: these constraints are typically determined by the
                      OSS/BSS from service requirements (e.g. latency
                      requirements, regulatory requirements). The NFVO can map
                      such location constraints to eligible NFVI-PoPs/resource
                      zones where the VNF instance is to be created.
                    type: object
                    required:
                      - vnfProfileId
                    properties:
                      vnfProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      locationConstraints:
                        description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                        type: object
                        properties:
                          countryCode:
                            description: >
                              The two-letter ISO 3166 country code in capital
                              letters. Shall be present in case the "area"
                              attribute is absent. May be absent if the "area"
                              attribute is present (see note).
                            type: string
                          civicAddressElement:
                            description: >
                              Zero or more elements comprising the civic
                              address. Shall be absent if the "area" attribute
                              is present.
                            type: array
                            items:
                              type: object
                              required:
                                - caType
                                - caValue
                              properties:
                                caType:
                                  description: >
                                    Describe the content type of caValue. The
                                    value of caType shall comply with Section
                                    3.4 of IETF RFC 4776 [13].
                                  type: integer
                                caValue:
                                  description: >
                                    Content of civic address element
                                    corresponding to the caType. The format
                                    caValue shall comply with Section 3.4 of
                                    IETF RFC 4776 [13].
                                  type: string
                          area:
                            description: >
                              Geographic area. Shall be absent if the
                              "civicAddressElement" attribute is present. The
                              content of this attribute shall follow the
                              provisions for the "Polygon" geometry object as
                              defined in IETF RFC 7946, for which the "type"
                              member shall be set to the value "Polygon". See
                              note.
                            type: object
                nestedNsLocationConstraints:
                  description: >
                    Defines the location constraints for the nested NS to be
                    instantiated as part of the NS instantiation. An example can
                    be a constraint for the nested NS to be in a specific
                    geographic location.
                  type: array
                  items:
                    description: >
                      This type represents the association of location
                      constraints to a nested NS instance to be created
                      according to a specific NS profile. It shall comply with
                      the provisions defined in Table 6.5.3.96-1.

                      NOTE: These constraints are typically determined by the
                      OSS/BSS from service requirements (e.g. latency
                      requirements, regulatory requirements). The NFVO can map
                      such location constraints to eligible NFVI-PoPs/resource
                      zones where the VNF instances as part of the nested NS are
                      to be created.
                    type: object
                    required:
                      - nsProfileId
                      - locationConstraints
                    properties:
                      nsProfileId:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                      locationConstraints:
                        description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                        type: object
                        properties:
                          countryCode:
                            description: >
                              The two-letter ISO 3166 country code in capital
                              letters. Shall be present in case the "area"
                              attribute is absent. May be absent if the "area"
                              attribute is present (see note).
                            type: string
                          civicAddressElement:
                            description: >
                              Zero or more elements comprising the civic
                              address. Shall be absent if the "area" attribute
                              is present.
                            type: array
                            items:
                              type: object
                              required:
                                - caType
                                - caValue
                              properties:
                                caType:
                                  description: >
                                    Describe the content type of caValue. The
                                    value of caType shall comply with Section
                                    3.4 of IETF RFC 4776 [13].
                                  type: integer
                                caValue:
                                  description: >
                                    Content of civic address element
                                    corresponding to the caType. The format
                                    caValue shall comply with Section 3.4 of
                                    IETF RFC 4776 [13].
                                  type: string
                          area:
                            description: >
                              Geographic area. Shall be absent if the
                              "civicAddressElement" attribute is present. The
                              content of this attribute shall follow the
                              provisions for the "Polygon" geometry object as
                              defined in IETF RFC 7946, for which the "type"
                              member shall be set to the value "Polygon". See
                              note.
                            type: object
                additionalParamsForNs:
                  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
                additionalParamsForNestedNs:
                  description: >
                    Allows the OSS/BSS to provide additional parameter(s) per
                    nested NS instance (as opposed to the composite NS level,
                    which is covered in additionalParamsForNs, and as opposed to
                    the VNF level, which is covered in additionalParamsForVnf).
                    This is for nested NS instances that are to be created by
                    the NFVO as part of the NS instantiation and not for
                    existing nested NS instances that are referenced for reuse.
                  type: array
                  items:
                    description: >
                      This type specifies additional parameters on a per-nested
                      NS instance basis.  It shall comply with the provisions
                      defined in Table 6.5.3.21a-1.
                    type: object
                    required:
                      - nsProfileId
                    properties:
                      nsProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      additionalParam:
                        description: >
                          Additional parameters that are to be applied on a per
                          nested NS instance.
                        type: array
                        items:
                          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
                additionalParamsForVnf:
                  description: >
                    Allows the OSS/BSS to provide additional parameter(s) per
                    VNF instance (as opposed to the composite NS level,  which
                    is covered in additionalParamsForNs and as opposed  to the
                    nested NS level, which is covered in 
                    additionalParamsForNestedNs). This is for VNFs that are to
                    be created by the NFVO as part of the NS instantiation  and
                    not for existing VNF that are referenced for reuse.
                  type: array
                  items:
                    description: >
                      This type defines the additional parameters for the VNF
                      instance to be created associated with an NS instance. It
                      shall comply with the provisions defined in Table
                      6.5.3.22-1.
                    type: object
                    required:
                      - vnfProfileId
                    properties:
                      vnfProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      vnfInstanceName:
                        description: |
                          Human-readable name of the VNF instance to be created.
                        type: string
                      vnfInstanceDescription:
                        description: >
                          Human-readable description of the VNF instance to be
                          created.
                        type: string
                      vnfConfigurableProperties:
                        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
                      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
                      extensions:
                        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
                      additionalParams:
                        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
                startTime:
                  description: >
                    Date-time stamp. Representation: String formatted according
                    toas defined by the date-time production in IETF RFC 3339.
                  format: date-time
                nsInstantiationLevelId:
                  description: >
                    An identifier that is unique within a NS descriptor.
                    Representation: string of variable length.
                  type: string
                wanConnectionData:
                  description: >
                    Information for connecting VNs to the WAN when VLs are
                    deployed across a WAN. See note 4.
                  type: array
                  items:
                    description: "This type provides information used to connect the comprising network resources realizing a VL, e.g., when the VL\nis deployed on several sites and across a WAN. It shall comply with the provisions defined in table 6.5.3.80-1.\nNOTE:\tEither a \"nsVirtualLink\" or a \"vnfVirtualLink\" shall be provided, but not both.\n"
                    type: object
                    required:
                      - protocolData
                    oneOf:
                      - required:
                          - nsVirtualLink
                      - required:
                          - vnfVirtualLink
                    properties:
                      nsVirtualLink:
                        description: >
                          Information used to identify the NS VL for which the
                          WAN connectivity data is applicable. See note.
                        type: object
                        required:
                          - nsVirtualLinkDescId
                          - nsVirtualLinkProfileId
                        properties:
                          nsVirtualLinkDescId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          nsVirtualLinkProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                      vnfVirtualLink:
                        description: >
                          Information used to identify the VNF VL for which the
                          WAN connectivity data is applicable. Either a
                          "nsVirtualLink" or a "vnfVirtualLink" shall be
                          provided, but not both.
                        type: object
                        required:
                          - vnfProfileId
                          - vnfVirtualLinkDescId
                          - vnfVirtualLinkProfileId
                        properties:
                          vnfProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          vnfVirtualLinkDescId:
                            description: >
                              Identifier of the VNF Virtual Link Descriptor
                              (VLD) in the VNFD.
                            type: string
                          vnfVirtualLinkProfileId:
                            description: >
                              Identifier of the VNF Virtual Link Descriptor
                              (VLD) in the VNFD.
                            type: string
                      protocolData:
                        description: >
                          This type provides protocol specific information used
                          to connect the comprising network resources realizing
                          a VL, e.g., when the VL is deployed on several sites
                          and across a WAN. This type supports signalling input
                          information about both pre-provisioned WAN
                          connectivity realized by external entities to
                          NFV-MANO, as well as for the creation of MSCS under
                          NFV-MANO responsibility (i.e., when connectivity is
                          realized when NFVO communicates with the WIM). It
                          shall comply with the provisions defined in table
                          6.5.3.81-1. NOTE: At least one of these attributes
                          shall be present. Annex E documents the applicability
                          of certain attributes depending on the WAN and
                          NFVI-PoP network management and the responsibilities
                          of NFV-MANO in its provisioning.
                        type: object
                        anyOf:
                          - required:
                              - mscsInfo
                          - required:
                              - connectivityServiceEndpointConfigDatas
                          - required:
                              - mscsConfigData
                        properties:
                          mscsInfo:
                            description: >
                              This type provides information about an already
                              provisioned multi-site connectivity service (MSCS)
                              deployed across a WAN. It shall comply with the
                              provisions defined in Table 6.5.3.82-1.
                            type: object
                            required:
                              - mscsId
                              - mscsType
                            properties:
                              mscsId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              mscsName:
                                description: |
                                  Human readable name of the MSCS.
                                type: string
                              mscsDescription:
                                description: |
                                  Human readable description of the MSCS.
                                type: string
                              mscsType:
                                description: "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n"
                                type: string
                                enum:
                                  - L2VPN
                                  - L3VPN
                              mscsLayerProtocol:
                                description: "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n"
                                type: string
                                enum:
                                  - EVPN_BGP_MPLS
                                  - EVPN_VPWS
                                  - VPLS_BGP
                                  - VPLS_LDP
                                  - VPWS
                                  - BGP_IP_VPN
                              siteAccessProtectionSchemes:
                                description: >
                                  Information to determine the proper MSCS
                                  endpoints configuration to fulfil certain
                                  resiliency/protection requirements, e.g., by
                                  considering certain availability and
                                  redundancy of connectivity service endpoints
                                  in between NFVI-PoP and WAN.
                                type: array
                                items:
                                  type: object
                                  properties:
                                    locationConstraints:
                                      description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                                      type: object
                                      properties:
                                        countryCode:
                                          description: >
                                            The two-letter ISO 3166 country code in
                                            capital letters. Shall be present in
                                            case the "area" attribute is absent. May
                                            be absent if the "area" attribute is
                                            present (see note).
                                          type: string
                                        civicAddressElement:
                                          description: >
                                            Zero or more elements comprising the
                                            civic address. Shall be absent if the
                                            "area" attribute is present.
                                          type: array
                                          items:
                                            type: object
                                            required:
                                              - caType
                                              - caValue
                                            properties:
                                              caType:
                                                description: >
                                                  Describe the content type of caValue.
                                                  The value of caType shall comply with
                                                  Section 3.4 of IETF RFC 4776 [13].
                                                type: integer
                                              caValue:
                                                description: >
                                                  Content of civic address element
                                                  corresponding to the caType. The format
                                                  caValue shall comply with Section 3.4 of
                                                  IETF RFC 4776 [13].
                                                type: string
                                        area:
                                          description: >
                                            Geographic area. Shall be absent if the
                                            "civicAddressElement" attribute is
                                            present. The content of this attribute
                                            shall follow the provisions for the
                                            "Polygon" geometry object as defined in
                                            IETF RFC 7946, for which the "type"
                                            member shall be set to the value
                                            "Polygon". See note.
                                          type: object
                                    protectionScheme:
                                      description: "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n"
                                      type: string
                                      enum:
                                        - UNPROTECTED
                                        - ONE_TO_ONE
                                        - ONE_PLUS_ONE
                                        - ONE_TO_N
                              mtuMscs:
                                description: >
                                  Maximum Transmission Unit (MTU) that can be
                                  forwarded over the MSCS (in bytes). Default
                                  value is "1500" (bytes).
                                type: number
                              mscsEndpoints:
                                description: >
                                  Information about the MSCS endpoints of the
                                  MSCS.
                                type: array
                                items:
                                  description: >
                                    This type provides encapsulates information
                                    about an MSCS endpoint of the MSCS. It shall
                                    comply with the provisions defined in table
                                    6.5.3.83-1.
                                  type: object
                                  required:
                                    - mscsEndpointId
                                    - directionality
                                    - connectivityServiceEndpoinId
                                  properties:
                                    mscsEndpointId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    directionality:
                                      description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                      type: string
                                      enum:
                                        - INBOUND
                                        - OUTBOUND
                                        - BOTH
                                    connectivityServiceEndpoinId:
                                      description: >
                                        References the connectivity service
                                        endpoint configuration information
                                        applicable to support the MSCS endpoint.
                                        More than one connectivity service
                                        endpoint can be referred when endpoints
                                        are in LAG mode.
                                      type: array
                                      items:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                          connectivityServiceEndpointConfigDatas:
                            description: >
                              Configuration data for the network resources in
                              the NFVI-PoP. See note.
                            type: array
                            items:
                              description: >
                                This type provides configuration data for the
                                NFVI-PoP network gateway providing connectivity
                                service endpoints. The connectivity service
                                endpoints are used as endpoints by an MSCS. It
                                shall comply with the provisions defined in
                                Table 6.5.3.84-1.
                              type: object
                              required:
                                - connectivityServiceEndpointId
                                - vimId
                              properties:
                                connectivityServiceEndpointId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vimId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                siteToWanLayer2ProtocolData:
                                  description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                  type: object
                                  required:
                                    - layer2ConnectionInfo
                                  properties:
                                    layer2ConnectionInfo:
                                      description: >
                                        Layer 2 protocol parameters of the
                                        connectivity service endpoint (CSE).
                                      type: object
                                      required:
                                        - connectionType
                                        - interfaceType
                                        - interfaceTagging
                                        - encapsulationType
                                      properties:
                                        connectionType:
                                          description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                          type: string
                                          enum:
                                            - CSE
                                            - AGGREGATE_CSE
                                        interfaceType:
                                          description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                          type: string
                                          enum:
                                            - PARENT
                                            - LOGICAL
                                        interfaceTagging:
                                          description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                          type: string
                                          enum:
                                            - UNTAGGED
                                            - TAGGED
                                        encapsulationType:
                                          description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                          type: string
                                          enum:
                                            - ETH
                                            - VLAN
                                            - VXLAN
                                        vlanTaggingType:
                                          description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                          type: string
                                          enum:
                                            - DOT1Q
                                            - QINQ
                                            - QINANY
                                        wanSegmentIds:
                                          description: >
                                            Segment identifiers to pass on the
                                            tagged interface. Shall be present if
                                            encapsulationType="VLAN" or “VXLAN".
                                          type: object
                                          required:
                                            - wanSegmentIdValue
                                          properties:
                                            wanSegmentIdValue:
                                              description: >
                                                Identifier of the network segment (e.g.,
                                                VLAN id or VNI).
                                              type: string
                                            wanSegmentIdUpperRange:
                                              description: >
                                                Identifier of the upper range network
                                                segment, in case the "wanSegmentIds" is
                                                used to define a range.
                                              type: string
                                        vxlanConfig:
                                          description: >
                                            Additional configuration needed when
                                            using VXLAN encapsulation. Shall be
                                            present if interfaceTagging="TAGGED" and
                                            encapsulationType="VXLAN".
                                          type: object
                                          required:
                                            - peerMode
                                          properties:
                                            peerMode:
                                              description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                              type: string
                                              enum:
                                                - STATIC
                                                - BGP_EVPN
                                            peers:
                                              description: >
                                                List of IP addresses of VTEP peers when
                                                using static mode.
                                              type: array
                                              items:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                        lagInterfaceData:
                                          description: >
                                            Information for setting up a LAG
                                            interface aggregating multiple
                                            connectivity service endpoints.
                                          type: object
                                          required:
                                            - aggregatedEndpoints
                                            - lacpActivation
                                            - lacpConfig
                                          properties:
                                            aggregatedEndpoints:
                                              description: >
                                                List of the connectivity service
                                                endpoints that are to be aggregated.
                                                Shall be present if
                                                connectionType="AGGREGATE_CSE". In case
                                                of aggregating connectivity service
                                                endpoints, only one
                                                SiteToWanLayer2ProtocolData shall be
                                                provided for the whole set of aggregated
                                                endpoints.
                                              type: array
                                              items:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                            lacpActivation:
                                              description: >
                                                Indicates whether to activate LACP on
                                                the interface. If "TRUE", the LACP is to
                                                be activated, or "FALSE" otherwise.
                                                Default value is "FALSE".
                                              type: boolean
                                            lacpConfig:
                                              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
                                        layer2ControlProtocol:
                                          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
                                    mtuL2:
                                      description: >
                                        Maximum Transmission Unit (MTU) that can
                                        be forwarded at layer 2 (in bytes).
                                        Default value is "1500" (bytes).
                                      type: number
                                    virtualRoutingAndForwarding:
                                      description: >
                                        Configuration related to the L2 virtual
                                        routing and forwarding (MAC-VRF).
                                      type: object
                                      required:
                                        - macVrfName
                                      properties:
                                        macVrfName:
                                          description: >
                                            Name (or identifier) of the MAC-VRF
                                            instance.
                                          type: string
                                    forwardingConfig:
                                      description: >
                                        Information related to the forwarding of
                                        the VN in the NFVI-PoP to the
                                        connectivity service endpoint, if
                                        information about the VN to "stitch" is
                                        already known. . by the OSS/BSS. Shall
                                        not be provided otherwise, in which case
                                        the NFVO will infer the forwarding
                                        configuration based on the NS VL, or
                                        external VL, or externally-managed VL
                                        provisioning.
                                      type: object
                                      oneOf:
                                        - required:
                                            - networkResources
                                        - required:
                                            - vnSegmentIds
                                      properties:
                                        networkResources:
                                          description: >
                                            Reference to the VN resource to be
                                            forwarded into/from the MSCS. See note.
                                          type: array
                                          items:
                                            description: >
                                              This type represents the information
                                              that allows addressing a virtualised
                                              resource that is used by a VNF instance
                                              or by an NS instance. Information about
                                              the resource is available from the VIM.
                                              NOTE: The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle.
                                            type: object
                                            required:
                                              - resourceId
                                            properties:
                                              vimId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceProviderId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                              vimLevelResourceType:
                                                description: >
                                                  Type of the resource in the scope of the
                                                  VIM, the WIM or the resource provider.
                                                  The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle. See note.
                                                type: string
                                        vnSegmentIds:
                                          description: >
                                            Identifiers of the network segments of
                                            the VN resources to be forwarded
                                            into/from the MSCS.
                                          type: object
                                          required:
                                            - vnSegmentIdValue
                                          properties:
                                            vnSegmentIdValue:
                                              description: |
                                                Identifier of the network segment.
                                              type: string
                                            vnSegmentIdUpperRange:
                                              description: >
                                                Identifier of the upper range network
                                                segment, in case the "vnSegmentIds" is
                                                used to define a range.
                                              type: string
                                siteToWanLayer3ProtocolData:
                                  description: >
                                    This type provides information about Layer 3
                                    protocol specific information for the
                                    stitching of the intra-site VN to the
                                    multi-site connectivity service over the
                                    WAN. It shall comply with the provisions
                                    defined in Table 6.5.3.86-1.
                                  type: object
                                  required:
                                    - routingInfo
                                  properties:
                                    logicalInterfaceIpAddress:
                                      description: >
                                        IP addressing information associated to
                                        a logical interface. Shall be present if
                                        the "interfaceType" of the
                                        SiteToWanLayer2ProtocolData is equal to
                                        "LOGICAL".
                                      type: object
                                      required:
                                        - ipAddress
                                        - associatedSegmentId
                                      properties:
                                        ipAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        associatedSegmentId:
                                          description: >
                                            The associated segment identifier that
                                            has triggered the creation of the
                                            logical interface. The value shall be
                                            one of the values listed in the
                                            "wanSegmentIds" of the
                                            "siteToWanLayer2ProtocolData".
                                          type: string
                                    routingInfo:
                                      description: >
                                        The routing information that is
                                        activated on the connectivity service
                                        endpoint. More than one "routingInfo" is
                                        allowed to enable stacking different
                                        routing protocols (e.g., one routing
                                        protocol for IPv4 and another one for
                                        IPv6).
                                      type: object
                                      required:
                                        - routingProtocol
                                        - routingAddressFamily
                                      properties:
                                        routingProtocol:
                                          description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                          type: string
                                          enum:
                                            - BGP
                                            - RIP
                                            - OSPF
                                            - STATIC
                                            - DIRECT
                                            - VRRP
                                        staticRouting:
                                          description: >
                                            Defines a static route. It shall only be
                                            present if the routingProtocol="STATIC".
                                          type: object
                                          required:
                                            - ipVersion
                                            - ipPrefix
                                            - prefixSize
                                            - nextHop
                                          properties:
                                            ipVersion:
                                              description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            ipPrefix:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            prefixSize:
                                              description: |
                                                The IP prefix size.
                                              type: number
                                            nextHop:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                        routingAddressFamily:
                                          description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                          type: string
                                          enum:
                                            - IPV4
                                            - IPv6
                                        ospfRouting:
                                          description: >
                                            Defines parameters for OSPF routing. It
                                            shall only be present if the
                                            routingProtocol="OSPF".
                                          type: object
                                          required:
                                            - areaId
                                          properties:
                                            areaId:
                                              description: >
                                                The routing area identifier, e.g., a
                                                number or an IP address.
                                              type: string
                                        bgpRouting:
                                          description: >
                                            Defines parameters for BGP routing. It
                                            shall only be present if the
                                            routingProtocol="BGP".
                                          type: object
                                          required:
                                            - bgpAs
                                          properties:
                                            bgpAs:
                                              description: >
                                                The Autonomous System (AS)
                                                identification applicable to the BGP
                                                routing info entry.
                                              type: object
                                            bgpNeighbour:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            bgpAdditionalParam:
                                              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
                                        routeMapsDistribution:
                                          description: >
                                            Maps of routes that are permitted or
                                            denied for redistribution.
                                          type: object
                                          required:
                                            - policy
                                            - sequence
                                            - matchAndSetRule
                                          properties:
                                            policy:
                                              description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                              type: string
                                              enum:
                                                - PERMIT
                                                - DENY
                                            sequence:
                                              description: >
                                                Sequence or index number assigned to the
                                                route-map.
                                              type: number
                                            matchAndSetRule:
                                              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
                                    mtuL3:
                                      description: >
                                        Maximum Transmission Unit (MTU) that can
                                        be forwarded at layer 3 (in bytes).
                                        Default value is "1500" (bytes).
                                      type: number
                                    virtualRoutingAndForwarding:
                                      description: >
                                        Configuration related to the virtual
                                        routing and forwarding (VRF).
                                      type: object
                                      required:
                                        - vrfName
                                      properties:
                                        vrfName:
                                          description: >
                                            Name (or identifier) of the VRF
                                            instance.
                                          type: string
                                    bfdConfig:
                                      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
                          mscsConfigData:
                            description: >
                              This type provides configuration data for the
                              creation of an MSCS. It shall comply with the
                              provisions defined in Table 6.5.3.87-1.
                            type: object
                            required:
                              - mscsType
                            properties:
                              mscsType:
                                description: "The type of connectivity that is requested to be provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n"
                                type: string
                                enum:
                                  - L2
                                  - L3
                              siteAccessProtectionSchemes:
                                description: >
                                  Information to determine the proper MSCS
                                  endpoints configuration to fulfil certain
                                  resiliency/protection requirements, e.g., by
                                  considering certain availability and
                                  redundancy of connectivity service endpoints
                                  in between NFVI-PoP and WAN.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - locationConstraints
                                    - protectionScheme
                                  properties:
                                    locationConstraints:
                                      description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                                      type: object
                                      properties:
                                        countryCode:
                                          description: >
                                            The two-letter ISO 3166 country code in
                                            capital letters. Shall be present in
                                            case the "area" attribute is absent. May
                                            be absent if the "area" attribute is
                                            present (see note).
                                          type: string
                                        civicAddressElement:
                                          description: >
                                            Zero or more elements comprising the
                                            civic address. Shall be absent if the
                                            "area" attribute is present.
                                          type: array
                                          items:
                                            type: object
                                            required:
                                              - caType
                                              - caValue
                                            properties:
                                              caType:
                                                description: >
                                                  Describe the content type of caValue.
                                                  The value of caType shall comply with
                                                  Section 3.4 of IETF RFC 4776 [13].
                                                type: integer
                                              caValue:
                                                description: >
                                                  Content of civic address element
                                                  corresponding to the caType. The format
                                                  caValue shall comply with Section 3.4 of
                                                  IETF RFC 4776 [13].
                                                type: string
                                        area:
                                          description: >
                                            Geographic area. Shall be absent if the
                                            "civicAddressElement" attribute is
                                            present. The content of this attribute
                                            shall follow the provisions for the
                                            "Polygon" geometry object as defined in
                                            IETF RFC 7946, for which the "type"
                                            member shall be set to the value
                                            "Polygon". See note.
                                          type: object
                                    protectionScheme:
                                      description: "Defines the protection scheme. Permitted values: -\tUNPROTECTED -\tONE_TO_ONE -\tONE_PLUS_ONE -\tONE_TO_N\n"
                                      type: string
                                      enum:
                                        - UNPROTECTED
                                        - ONE_TO_ONE
                                        - ONE_PLUS_ONE
                                        - ONE_TO_N
                              mtuMscs:
                                description: >
                                  Maximum Transmission Unit (MTU) that can be
                                  forwarded over the MSCS (in bytes). Default
                                  value is "1500" (bytes).
                                type: number
                              wanLayer2ProtocolData:
                                description: >
                                  This type provides information about Layer 2
                                  protocol specific information for the
                                  configuration of the MSCS over the WAN. It
                                  shall comply with the provisions defined in
                                  Table 6.5.3.88-1.
                                type: object
                                required:
                                  - isSegmentPreservation
                                  - isSegmentCosPreservation
                                properties:
                                  mscsLayer2Protocol:
                                    description: "Type of underlying connectivity service and protocol associated to the type of MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. - EVPN_VPWS: as specified in IETF RFC 8214. -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762 and IETF RFC 6074. -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074.\n"
                                    type: string
                                    enum:
                                      - EVPN_BGP_MPLS
                                      - EVPN_VPWS
                                      - VPLS_BGP
                                      - VPLS_LDP_L2TP
                                      - VPWS_LDP_L2TP
                                  isSegmentPreservation:
                                    description: >
                                      Indicates the requirement of whether to
                                      ensure network segment (e.g., VLAN id)
                                      preservation across the MSCS endpoints
                                      (i.e., from/to the NFVI-PoPs). If "TRUE",
                                      segment identifiers shall be preserved,
                                      "FALSE" otherwise. Default value is
                                      "FALSE".
                                    type: boolean
                                  isSegmentCosPreservation:
                                    description: >
                                      Indicates the requirement of whether to
                                      ensure network segment class of service
                                      preservation across the MSCS endpoints
                                      (i.e., from/to the NFVI-PoPs). If "TRUE",
                                      segment class of service shall be
                                      preserved, "FALSE" otherwise. Default
                                      value is "FALSE".
                                    type: boolean
                              wanLayer3ProtocolData:
                                description: "Type of underlying connectivity service and protocol associated to the type of MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364.\n"
                                type: string
                                enum:
                                  - BGP_IP_VPN
                additionalAffinityOrAntiAffinityRule:
                  description: >
                    Specifies additional affinity or anti-affinity constraint
                    for the VNF instances to be instantiated as part of the NS
                    instantiation. Shall not conflict with rules already
                    specified in the NSD.
                  type: array
                  items:
                    description: >
                      This type describes the additional affinity or
                      anti-affinity rule applicable between the VNF instances to
                      be instantiated in the NS instantiation operation request
                      or between the VNF instances to be instantiated in the NS
                      instantiation operation request and the existing VNF
                      instances..
                    type: object
                    required:
                      - affinityOrAntiAffiinty
                      - scope
                    properties:
                      vnfdId:
                        description: >
                          Reference to a VNFD. When the VNFD which is not used
                          to instantiate VNF, it presents all VNF instances of
                          this type as the subjects of the affinity or
                          anti-affinity rule. The VNF instance which the VNFD
                          presents is not necessary as a part of the NS to be
                          instantiated.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      vnfProfileId:
                        description: >
                          Reference to a vnfProfile defined in the NSD. At least
                          one VnfProfile which is used to instantiate VNF for
                          the NS to be instantiated as the subject of the
                          affinity or anti-affinity rule shall be present. When
                          the VnfProfile which is not used to instantiate VNF,
                          it presents all VNF instances of this type as the
                          subjects of the affinity or anti-affinity rule. The
                          VNF instance which the VnfProfile presents is not
                          necessary as a part of the NS to be instantiated.
                        type: array
                        items:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                      vnfInstanceId:
                        description: >
                          Reference to the existing VNF instance as the subject
                          of the affinity or anti-affinity rule. The existing
                          VNF instance is not necessary as a part of the NS to
                          be instantiated.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      affinityOrAntiAffiinty:
                        description: >
                          The type of the constraint. Permitted values: AFFINITY
                          ANTI_AFFINITY.
                        type: string
                        enum:
                          - AFFINITY
                          - ANTI_AFFINITY
                      scope:
                        description: >
                          Specifies the scope of the rule where the placement
                          constraint applies. Permitted values: NFVI_POP ZONE
                          ZONE_GROUP NFVI_NODE.
                        type: string
                        enum:
                          - NFVI_POP
                          - ZONE
                          - ZONE_GROUP
                          - NFVI_NODE
        required: true
      responses:
        '202':
          description: >
            202 ACCEPTED


            accepted for processing, but the processing has not been completed.

            The response body shall be empty.

            The HTTP response shall include a "Location" HTTP header that
            contains the URI of the newly-created

            "Individual NS LCM operation occurrence" resource corresponding to
            the operation.
          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


            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a conflict

            with the state of the resource.

            Typically, this is due to the fact that the NS instance resource is
            in the INSTANTIATED state, or that

            another lifecycle management operation is ongoing.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey

            more information about the error.
          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: >
                  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
  '/ns_instances/{nsInstanceId}/scale':
    parameters:
      - name: nsInstanceId
        in: path
        description: |
          Identifier of the NS instance.
        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:
      description: >
        The POST method requests to scale an NS instance resource. See clause
        6.4.5.3.1.
      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: |
          Parameters for the scale NS operation, as defined in clause 6.5.2.14.
        content:
          application/json:
            schema:
              description: "This type represents a request for the scale NS operation. Either the parameter scaleNsData or the parameter scaleVnfData, but not both shall be provided\nNOTE:\tEither the parameter scaleNsData or the parameter scaleVnfData, but not both shall be provided.\n"
              type: object
              required:
                - scaleType
              oneOf:
                - required:
                    - scaleNsData
                - required:
                    - scaleVnfData
              properties:
                scaleType:
                  description: >
                    Indicates the type of scaling to be performed. Possible
                    values: - SCALE_NS - SCALE_VNF
                  type: string
                  enum:
                    - SCALE_NS
                    - SCALE_VNF
                scaleNsData:
                  description: "This type represents the information to scale a NS. NOTE 1:\tNo more than two attributes between vnfInstanceToBeAdded, vnfInstanceToBeRemoved, scaleNsByStepsData and scaleNsToLevelData shall be present. In case of two, the attributes shall be vnfInstanceToBeAdded and vnfInstanceToBeRemoved. NOTE 2:\tThe DF of the VNF instance shall match the VNF DF present in the associated VNF Profile of the new NS flavour. NOTE 3:\tThis functionality is the same as the one provided by the Update NS operation when the AddVnf update type is selected (see clause 7.3.5). NOTE 4:\tThis functionality is the same as the one provided by the Update NS operation when the RemoveVnf update type is selected (see clause 7.3.5).\n"
                  type: object
                  properties:
                    vnfInstanceToBeAdded:
                      description: >
                        An existing VNF instance to be added to the NS instance
                        as part of the scaling operation. If needed, the VNF
                        Profile to be used for this VNF instance may also be
                        provided. See note 1, note 2 and note 3.
                      type: array
                      items:
                        description: >
                          This type specifies an existing VNF instance to be
                          used in the NS instance and if needed, the VNF Profile
                          to use for this VNF instance. It shall comply with the
                          provisions defined in Table 6.5.3.19-1.
                        type: object
                        required:
                          - vnfInstanceId
                          - vnfProfileId
                        properties:
                          vnfInstanceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                    vnfInstanceToBeRemoved:
                      description: >
                        The VNF instance to be removed from the NS instance as
                        part of the scaling operation. See note 1 and note 4.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    scaleNsByStepsData:
                      description: >
                        This type represents the information used to scale an NS
                        instance by one or more scaling steps, with respect to a
                        particular NS scaling aspect. Performing a scaling step
                        means increasing/decreasing the capacity of an NS
                        instance in a discrete manner, i.e. moving from one NS
                        scale level to another. The NS scaling aspects and their
                        corresponding NS scale levels applicable to the NS
                        instance are declared in the NSD.
                      type: object
                      required:
                        - scalingDirection
                        - aspectId
                      properties:
                        scalingDirection:
                          description: >
                            The scaling direction. Possible values are: -
                            SCALE_IN - SCALE_OUT.
                          type: string
                          enum:
                            - SCALE_IN
                            - SCALE_OUT
                        aspectId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        numberOfSteps:
                          description: >
                            The number of scaling steps to be performed.
                            Defaults to 1.
                          type: integer
                          default: 1
                    scaleNsToLevelData:
                      description: "This type represents the information used to scale an NS instance to a target size. The target size is either expressed as an NS instantiation level or as a list of NS scale levels, one per NS scaling aspect, of the current DF. The NS instantiation levels, the NS scaling aspects and their corresponding NS scale levels applicable to the NS instance are declared in the NSD. NOTE:\tEither nsInstantiationLevel or nsScaleInfo, but not both, shall be present.\n"
                      type: object
                      oneOf:
                        - required:
                            - nsInstantiationLevel
                        - required:
                            - nsScaleInfo
                      properties:
                        nsInstantiationLevel:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        nsScaleInfo:
                          description: >
                            For each NS scaling aspect of the current DF,
                            defines the target NS scale level to which the NS
                            instance is to be scaled. See note.
                          type: array
                          items:
                            description: >
                              This type represents the target NS Scale level for
                              each NS scaling aspect of the current deployment
                              flavor.
                            type: object
                            required:
                              - nsScalingAspectId
                              - nsScaleLevelId
                            properties:
                              nsScalingAspectId:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                              nsScaleLevelId:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                    additionalParamsForNs:
                      description: >
                        This type defines the additional parameters for the VNF
                        instance to be created associated with an NS instance.
                        It shall comply with the provisions defined in Table
                        6.5.3.22-1.
                      type: object
                      required:
                        - vnfProfileId
                      properties:
                        vnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        vnfInstanceName:
                          description: >
                            Human-readable name of the VNF instance to be
                            created.
                          type: string
                        vnfInstanceDescription:
                          description: >
                            Human-readable description of the VNF instance to be
                            created.
                          type: string
                        vnfConfigurableProperties:
                          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
                        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
                        extensions:
                          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
                        additionalParams:
                          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
                    additionalParamsForVnf:
                      description: >
                        Allows the OSS/BSS to provide additional parameter(s)
                        per VNF instance (as opposed to the NS level, which is
                        covered in additionalParamsforNs). This is for VNFs that
                        are to be created by the NFVO as part of the NS scaling
                        and not for existing VNF that are covered by the
                        scaleVnfData.
                      type: array
                      items:
                        description: >
                          This type defines the additional parameters for the
                          VNF instance to be created associated with an NS
                          instance. It shall comply with the provisions defined
                          in Table 6.5.3.22-1.
                        type: object
                        required:
                          - vnfProfileId
                        properties:
                          vnfProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          vnfInstanceName:
                            description: >
                              Human-readable name of the VNF instance to be
                              created.
                            type: string
                          vnfInstanceDescription:
                            description: >
                              Human-readable description of the VNF instance to
                              be created.
                            type: string
                          vnfConfigurableProperties:
                            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
                          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
                          extensions:
                            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
                          additionalParams:
                            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
                    locationConstraints:
                      description: >
                        The location constraints for the VNF to be instantiated
                        as part of the NS scaling. An example can be a
                        constraint for the VNF to be in a specific geographic
                        location.
                      type: array
                      items:
                        description: >
                          This type represents the association of location
                          constraints to a VNF instance to be created according
                          to a specific VNF profile. It shall comply with the
                          provisions defined in Table 6.5.3.20-1.

                          NOTE: these constraints are typically determined by
                          the OSS/BSS from service requirements (e.g. latency
                          requirements, regulatory requirements). The NFVO can
                          map such location constraints to eligible
                          NFVI-PoPs/resource zones where the VNF instance is to
                          be created.
                        type: object
                        required:
                          - vnfProfileId
                        properties:
                          vnfProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          locationConstraints:
                            description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                            type: object
                            properties:
                              countryCode:
                                description: >
                                  The two-letter ISO 3166 country code in
                                  capital letters. Shall be present in case the
                                  "area" attribute is absent. May be absent if
                                  the "area" attribute is present (see note).
                                type: string
                              civicAddressElement:
                                description: >
                                  Zero or more elements comprising the civic
                                  address. Shall be absent if the "area"
                                  attribute is present.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - caType
                                    - caValue
                                  properties:
                                    caType:
                                      description: >
                                        Describe the content type of caValue.
                                        The value of caType shall comply with
                                        Section 3.4 of IETF RFC 4776 [13].
                                      type: integer
                                    caValue:
                                      description: >
                                        Content of civic address element
                                        corresponding to the caType. The format
                                        caValue shall comply with Section 3.4 of
                                        IETF RFC 4776 [13].
                                      type: string
                              area:
                                description: >
                                  Geographic area. Shall be absent if the
                                  "civicAddressElement" attribute is present.
                                  The content of this attribute shall follow the
                                  provisions for the "Polygon" geometry object
                                  as defined in IETF RFC 7946, for which the
                                  "type" member shall be set to the value
                                  "Polygon". See note.
                                type: object
                    nestedNsLocationConstraints:
                      description: >
                        Defines the location constraints for the nested NS to be
                        instantiated as part of the NS instantiation. An example
                        can be a constraint for the nested NS to be in a
                        specific geographic location.
                      type: array
                      items:
                        description: >
                          This type represents the association of location
                          constraints to a nested NS instance to be created
                          according to a specific NS profile. It shall comply
                          with the provisions defined in Table 6.5.3.96-1.

                          NOTE: These constraints are typically determined by
                          the OSS/BSS from service requirements (e.g. latency
                          requirements, regulatory requirements). The NFVO can
                          map such location constraints to eligible
                          NFVI-PoPs/resource zones where the VNF instances as
                          part of the nested NS are to be created.
                        type: object
                        required:
                          - nsProfileId
                          - locationConstraints
                        properties:
                          nsProfileId:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                          locationConstraints:
                            description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                            type: object
                            properties:
                              countryCode:
                                description: >
                                  The two-letter ISO 3166 country code in
                                  capital letters. Shall be present in case the
                                  "area" attribute is absent. May be absent if
                                  the "area" attribute is present (see note).
                                type: string
                              civicAddressElement:
                                description: >
                                  Zero or more elements comprising the civic
                                  address. Shall be absent if the "area"
                                  attribute is present.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - caType
                                    - caValue
                                  properties:
                                    caType:
                                      description: >
                                        Describe the content type of caValue.
                                        The value of caType shall comply with
                                        Section 3.4 of IETF RFC 4776 [13].
                                      type: integer
                                    caValue:
                                      description: >
                                        Content of civic address element
                                        corresponding to the caType. The format
                                        caValue shall comply with Section 3.4 of
                                        IETF RFC 4776 [13].
                                      type: string
                              area:
                                description: >
                                  Geographic area. Shall be absent if the
                                  "civicAddressElement" attribute is present.
                                  The content of this attribute shall follow the
                                  provisions for the "Polygon" geometry object
                                  as defined in IETF RFC 7946, for which the
                                  "type" member shall be set to the value
                                  "Polygon". See note.
                                type: object
                scaleVnfData:
                  description: >
                    The necessary information to scale the referenced NS
                    instance. It shall be present when scaleType = SCALE_VNF.
                    See note.
                  type: array
                  items:
                    description: "This type represents defines the information to scale a VNF instance  to a given level, or to scale a VNF instance by steps. NOTE 1:\tETSI GS NFV-IFA 010 (available at https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/010/03.02.01_60/gs_NFV-IFA010v030201p.pdf) specifies that the lifecycle management operations that expandor contract a VNF instance include scale in, scale out, scale up and scale down. Vertical scaling (scale up, scale down) is not supported in the present document. NOTE 2:\tEither scaletoLevelData or scaleByStepData but not both shall be present. The scaleByStepData is used for scale out/in type of scaling, and the scaleToLevelData is used for scale to instantiation/scale level type of scaling.\n"
                    type: object
                    required:
                      - vnfInstanceId
                      - scaleVnfType
                    oneOf:
                      - required:
                          - scaleToLevelData
                      - required:
                          - scaleByStepData
                    properties:
                      vnfInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      scaleVnfType:
                        description: >
                          Type of the scale VNF operation requested. Allowed
                          values are: - SCALE_OUT - SCALE_IN -
                          SCALE_TO_INSTANTIATION_LEVEL - SCALE_TO_SCALE_LEVEL(S)
                          The set of types actually supported depends on the
                          capabilities of the VNF being managed. See note 1.
                        type: string
                        enum:
                          - SCALE_OUT
                          - SCALE_IN
                          - SCALE_TO_INSTANTIATION_LEVEL
                          - SCALE_TO_SCALE_LEVEL(S)
                      scaleToLevelData:
                        description: >
                          This type describes the information used to scale a
                          VNF instance to a target size. The target size is
                          either expressed as an instantiation level of that DF
                          as defined in the VNFD, or given as a list of scale
                          levels, one per scaling aspect of that DF.
                          Instantiation levels and scaling aspects are declared
                          in the VNFD. The NFVO shall then invoke the
                          ScaleVnfToLevel operation towards the appropriate
                          VNFM. NOTE: Either the instantiationLevelId attribute
                          or the scaleInfo attribute shall be included.
                        type: object
                        anyOf:
                          - required:
                              - vnfInstantiationLevelId
                          - required:
                              - vnfScaleInfo
                        properties:
                          vnfInstantiationLevelId:
                            description: >
                              Identifier of the VNF Virtual Link Descriptor
                              (VLD) in the VNFD.
                            type: string
                          vnfScaleInfo:
                            description: >
                              For each scaling aspect of the current deployment
                              flavor, indicates the target scale level to which
                              the VNF is to be scaled. See note.
                            type: array
                            items:
                              required:
                                - aspectId
                                - scaleLevel
                              type: object
                              properties:
                                aspectId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleLevel:
                                  description: >
                                    Indicates the scale level. The minimum value
                                    shall be 0 and the maximum value shall be <=
                                    maxScaleLevel as described in the VNFD.
                                  type: integer
                          additionalParams:
                            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
                      scaleByStepData:
                        description: "This type describes the information to scale a VNF instance by steps.  The NFVO shall then invoke the Scale VNF operation towards the appropriate VNFM. NOTE:\tA scaling step is the smallest unit by which a VNF instance can be scaled w.r.t a particular scaling aspect.\n"
                        type: object
                        required:
                          - aspectId
                        properties:
                          aspectId:
                            description: >
                              Identifier of the VNF Virtual Link Descriptor
                              (VLD) in the VNFD.
                            type: string
                          numberOfSteps:
                            description: >
                              Number of scaling steps. It shall be a positive
                              number. Defaults to 1. The VNF provider defines in
                              the VNFD whether or not a particular VNF supports
                              performing more than one step at a time. Such a
                              property in the VNFD applies for all instances of
                              a particular VNF. See note.
                            type: integer
                            default: 1
                          additionalParams:
                            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
                scaleTime:
                  description: >
                    Date-time stamp. Representation: String formatted according
                    toas defined by the date-time production in IETF RFC 3339.
                  format: date-time
        required: true
      responses:
        '202':
          description: >
            202 ACCEPTED


            Shall be returned when the request has been accepted for processing,
            but the processing has not been completed.

            The response body shall be empty.

            The HTTP response shall include a "Location" HTTP header that
            contains the URI of the newly-created

            "Individual NS lifecycle operation occurrence" resource
            corresponding to the operation.
          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


            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a conflict with

            the state of the resource.

            Typically, this is due to the fact that the NS instance resource is
            in NOT_INSTANTIATED state, or that another

            lifecycle management operation is ongoing.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey more

            information about the error.
          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: >
                  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
  '/ns_instances/{nsInstanceId}/update':
    parameters:
      - name: nsInstanceId
        in: path
        description: |
          Identifier of the NS instance.
        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:
      description: |
        The POST method updates an NS instance. See clause 6.4.6.3.1.
      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: |
          Parameters for the update NS operation, as defined in clause 6.5.2.12.
        content:
          application/json:
            schema:
              description: "This operation supports the update of a NS instance operation.\nNOTE 1:\tIf a VNF instance is removed from an NS and this NS was the last one for which this VNF instance was a\n          part, the VNF instance is terminated by the NFVO.\nNOTE 2:\tIt depends on the VNF capabilities, and is declared in the VNFD whether the operation is supported for\n          a particular VNF.\nNOTE 3:\tThe operation might be service-disruptive. NOTE 4:   For each of the referred vnfInstanceId in the terminateVnfData, there shall be a corresponding value\n          in the removeVnfInstanceId.\n"
              type: object
              required:
                - updateType
              properties:
                updateType:
                  description: "The type of update. It determines also which one of the following parameters is present in the operation. Possible values include: * ADD_VNF: Adding existing VNF instance(s) * REMOVE_VNF: Removing VNF instance(s) * INSTANTIATE_VNF: Instantiating new VNF(s) * CHANGE_VNF_DF: Changing VNF DF * OPERATE_VNF: Changing VNF state, * MODIFY_VNF_INFORMATION: Modifying VNF information and/or the configurable properties of VNF instance(s) * CHANGE_EXTERNAL_VNF_CONNECTIVITY: Changing the external connectivity of VNF instance(s) * CHANGE_VNFPKG: Changing the VNF package(s) on which (a) VNF instance(s) is/are based * ADD_SAP: Adding SAP(s) * REMOVE_SAP: Removing SAP(s) * ADD_NESTED_NS: Adding existing NS instance(s) as nested NS(s) * REMOVE_NESTED_NS: Removing existing nested NS instance(s) * ASSOC_NEW_NSD_VERSION: Associating a new NSD version to the NS instance * MOVE_VNF: Moving VNF instance(s) from one origin NS instance to another target NS instance * ADD_VNFFG: Adding VNFFG(s) * REMOVE_VNFFG: Removing VNFFG(s) * UPDATE_VNFFG: Updating VNFFG(s) * CHANGE_NS_DF: Changing NS DF * ADD_PNF: Adding PNF * MODIFY_PNF: Modifying PNF * REMOVE_PNF: Removing PNF *\tCREATE_VNF_SNAPSHOT: Creating VNF Snapshots of VNF instances belonging to the NS instance. See note 2 * REVERT_VNF_TO_SNAPSHOT: Reverting a VNF instance belonging to the NS instance to a VNF Snapshot. See note 2 and note 3 * DELETE_VNF_SNAPSHOT_INFO: Deleting available VNF Snapshot information for a VNF instance belonging to the NS instance. See note 2 *\tMODIFY_WAN_CONNECTION_INFO: Modify WAN related connectivity information. *\tCREATE_NS_VIRTUAL_LINK: Create an NsVirtualLink instance. *\tDELETE_NS_VIRTUAL_LINK: Delete an NsVirtualLink instance.\n"
                  type: string
                  enum:
                    - ADD_VNF
                    - REMOVE_VNF
                    - INSTANTIATE_VNF
                    - CHANGE_VNF_DF
                    - OPERATE_VNF
                    - MODIFY_VNF_INFORMATION
                    - CHANGE_EXTERNAL_VNF_CONNECTIVITY
                    - CHANGE_VNFPKG
                    - ADD SAP
                    - REMOVE_SAP
                    - ADD_NESTED_NS
                    - REMOVE_NESTED_NS
                    - ASSOC_NEW_NSD_VERSION
                    - MOVE_VNF
                    - ADD_VNFFG
                    - REMOVE_VNFFG
                    - UPDATE_VNFFG
                    - CHANGE_NS_DF
                    - ADD_PNF
                    - MODIFY_PNF
                    - REMOVE_PNF
                    - CREATE_VNF_SNAPSHOT
                    - REVERT_VNF_TO_SNAPSHOT
                    - DELETE_VNF_SNAPSHOT_INFO
                    - MODIFY_WAN_CONNECTION_INFO
                    - CREATE_NS_VIRTUAL_LINK
                    - DELETE_NS_VIRTUAL_LINK
                addVnfIstance:
                  description: >
                    Identifies an existing VNF instance to be added to the NS
                    instance. It shall be present only if updateType =
                    "ADD_VNF".         
                  type: array
                  items:
                    description: >
                      This type specifies an existing VNF instance to be used in
                      the NS instance and if needed, the VNF Profile to use for
                      this VNF instance. It shall comply with the provisions
                      defined in Table 6.5.3.19-1.
                    type: object
                    required:
                      - vnfInstanceId
                      - vnfProfileId
                    properties:
                      vnfInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                removeVnfInstanceId:
                  description: >
                    Identifies an existing VNF instance to be removed from the
                    NS instance. It contains the identifier(s) of the VNF
                    instances to be removed. It shall be present only if
                    updateType = "REMOVE_VNF.". See note 1.
                  type: array
                  items:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                instantiateVnfData:
                  description: >
                    Identifies the new VNF to be instantiated. It can be used
                    e.g. for the bottom-up NS creation. It shall be present only
                    if updateType = "INSTANTIATE_VNF".
                  type: array
                  items:
                    description: "This type represents the information related to a SAP of a NS. The InstantiateVnfData data type specifies the parameters that are needed for VNF instantiation. This information element is used for the bottom-up NS creation when the OSS/BSS explicitly requests VNF instantiation for a given NS. When the NFVO invokes the Instantiate VNF update operation, a set of these parameters are then passed by the NFVO to the VNFM.\nNOTE 1:\tIt is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.27). NOTE 2:\tIf vnfdId and vnfFlavourId (and vnfInstantiationLevelId, if provided) are present, there should be only one vnfProfile that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, if present) in the NS deployment flavour specified in the NSD associated to the NS instance to which the present operation is triggered. In the case there is more than one matching vnfProfile, the NFVO may select a matching vnfProfile based on other information, such as external VL. NOTE 3:\tEither the attribute triple \"vnfdId, vnfFlavourId and vnfInstantiationLevelId (if provided)\" or the attribute \"vnProfileId\" shall be present, but not both.\n"
                    type: object
                    properties:
                      vnfdId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfFlavourId:
                        description: >
                          Identifier of the VNF Virtual Link Descriptor (VLD) in
                          the VNFD.
                        type: string
                      vnfInstantiationLevelId:
                        description: >
                          Identifier of the VNF Virtual Link Descriptor (VLD) in
                          the VNFD.
                        type: string
                      vnfProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      vnfInstanceName:
                        description: |
                          Human-readable name of the VNF instance to be created.
                        type: string
                      vnfInstanceDescription:
                        description: >
                          Human-readable description of the VNF instance to be
                          created.
                        type: string
                      extVirtualLinks:
                        description: |
                          Information about external VLs to connect the VNF to.
                        type: array
                        items:
                          description: "This type represents an external VL.\nNOTE:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1.\tFor a VIP CP directly exposed as extCP:\n  1.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD\n  1.2.\ta dedicated IP address is allocated as VIP address,\n  but the NFVO indicates that no port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2.\tFor a VIP CP exposed as extCP via a floating IP address: 2.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD,\n  and the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n"
                          type: object
                          required:
                            - resourceId
                            - extCps
                          properties:
                            extVirtualLinkId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceProviderId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceId:
                              description: >
                                An identifier maintained by the VIM or other
                                resource provider. It is expected to be unique
                                within the VIM instance. Representation: string
                                of variable length.
                              type: string
                            extCps:
                              description: >
                                External CPs of the VNF to be connected to this
                                external VL.
                              type: array
                              items:
                                description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                type: object
                                required:
                                  - cpdId
                                properties:
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  cpConfig:
                                    description: >
                                      Map of instance data that need to be
                                      configured on the CP instances  created
                                      from the respective CPD. The key of the
                                      map which identifies  the individual
                                      VnfExtCpConfig entries is of type
                                      "IdentifierInVnf"  and is managed by the
                                      API consumer. The entries shall be applied
                                      by  the VNFM according to the rules of
                                      JSON Merge Patch (see IETF RFC 7396
                                      [11]).  See notes 2, 3 and 4.
                                    type: object
                                    additionalProperties:
                                      description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - linkPortId
                                        - required:
                                            - cpProtocolData
                                      properties:
                                        parentCpConfigId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        linkPortId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        createExtLinkPort:
                                          description: >
                                            Indicates the need to create a dedicated
                                            link port for the external CP. If set to
                                            True, a link port is created. If set to
                                            False, no link port is created. This
                                            attribute is only applicable for
                                            external CP instances without a floating
                                            IP address that expose a VIP CP instance
                                            for which a dedicated IP address is
                                            allocated. It shall be present in that
                                            case and shall be absent otherwise.
                                          type: boolean
                                        cpProtocolData:
                                          description: >
                                            Parameters for configuring the network
                                            protocols on the link port that connects
                                            the CP to a VL. See note 1.
                                          type: array
                                          items:
                                            description: >
                                              This type represents network protocol
                                              data.
                                            type: object
                                            required:
                                              - layerProtocol
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  Identifier of layer(s) and protocol(s).
                                                  Permitted values: IP_OVER_ETHERNET.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                              ipOverEthernet:
                                                description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                type: object
                                                anyOf:
                                                  - required:
                                                      - ipAddresses
                                                  - required:
                                                      - macAddress
                                                properties:
                                                  macAddress:
                                                    description: >
                                                      A MAC address. Representation: string
                                                      that consists of groups of two
                                                      hexadecimal digits, separated by hyphens
                                                      or colons.
                                                    type: string
                                                    format: MAC
                                                  segmentationType:
                                                    description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                    type: string
                                                    enum:
                                                      - VLAN
                                                      - INHERIT
                                                  segmentationId:
                                                    description: >
                                                      Identification of the network segment to
                                                      which the CP instance connects to. See
                                                      note 3 and note 4.
                                                    type: string
                                                  ipAddresses:
                                                    description: >
                                                      List of IP addresses to assign to the CP
                                                      instance. Each entry represents IP
                                                      address data for fixed or dynamic IP
                                                      address assignment per subnet. If this
                                                      attribute is not present, no IP address
                                                      shall be assigned. See note 1.
                                                    type: array
                                                    items:
                                                      type: object
                                                      required:
                                                        - type
                                                      oneOf:
                                                        - required:
                                                            - fixedAddresses
                                                        - required:
                                                            - numDynamicAddresses
                                                        - required:
                                                            - addressRange
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values:
                                                              - IPV4
                                                              - IPV6
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        fixedAddresses:
                                                          description: >
                                                            Fixed addresses to assign (from the
                                                            subnet defined by "subnetId" if
                                                            provided). Exactly one of
                                                            "fixedAddresses", "numDynamicAddresses"
                                                            or "ipAddressRange" shall be present.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                        numDynamicAddresses:
                                                          description: >
                                                            Number of dynamic addresses to assign
                                                            (from the subnet defined by "subnetId"
                                                            if provided). See note 2.
                                                          type: integer
                                                        addressRange:
                                                          description: >
                                                            An IP address range to be used, e.g. in
                                                            case of egress connections. In case this
                                                            attribute is present, IP addresses from
                                                            the range will be used.
                                                          type: object
                                                          required:
                                                            - minAddress
                                                            - maxAddress
                                                          properties:
                                                            minAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                            maxAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                        subnetId:
                                                          description: >
                                                            An identifier maintained by the VIM or
                                                            other resource provider. It is expected
                                                            to be unique within the VIM instance.
                                                            Representation: string of variable
                                                            length.
                                                          type: string
                            extLinkPorts:
                              description: >
                                Externally provided link ports to be used to
                                connect external connection points to this
                                external VL unless the extCp exposes a VIP CP
                                and a link port is not needed for it based on
                                the conditions defined below. See note.
                              type: array
                              items:
                                description: "This type represents an externally provided link port to be used to connect an external connection point to an external VL. NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  trunkResourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                      extManagedVirtualLinks:
                        description: >
                          Information about internal VLs that are managed by
                          other entities than the VNFM. See note 1.
                        type: array
                        items:
                          description: >
                            This type represents an externally-managed internal
                            VL. It shall comply with the provisions defined in
                            Table 6.5.3.27-1.
                          type: object
                          required:
                            - vnfVirtualLinkDescId
                            - resourceId
                          properties:
                            extManagedVirtualLinkId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vnfVirtualLinkDescId:
                              description: >
                                Identifier of the VNF Virtual Link Descriptor
                                (VLD) in the VNFD.
                              type: string
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceProviderId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceId:
                              description: >
                                An identifier maintained by the VIM or other
                                resource provider. It is expected to be unique
                                within the VIM instance. Representation: string
                                of variable length.
                              type: string
                            vnfLinkPort:
                              description: >
                                Externally provided link ports to be used to
                                connect VNFC connection points to this
                                externally-managed VL on this network resource.
                                If this attribute is not present, the VNFM shall
                                create the link ports on the externally-managed
                                VL.
                              type: array
                              items:
                                description: >
                                  This type represents an externally provided
                                  link port to be used to connect a VNFC
                                  connection point to an externally-managed VL.
                                  It shall comply with the provisions defined in
                                  table 6.5.3.78-1.
                                type: object
                                required:
                                  - vnfLinkPortId
                                  - resourceHandle
                                properties:
                                  vnfLinkPortId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                            extManagedMultisiteVirtualLinkId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                      localizationLanguage:
                        description: >
                          Localization language of the VNF to be instantiated.
                          The value shall comply with the format defined in IETF
                          RFC 5646.
                        type: string
                      vnfConfigurableProperties:
                        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
                      additionalParams:
                        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
                      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
                      extensions:
                        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
                      locationConstraints:
                        description: >
                          This type represents the association of location
                          constraints to a VNF instance to be created according
                          to a specific VNF profile. It shall comply with the
                          provisions defined in Table 6.5.3.20-1.

                          NOTE: these constraints are typically determined by
                          the OSS/BSS from service requirements (e.g. latency
                          requirements, regulatory requirements). The NFVO can
                          map such location constraints to eligible
                          NFVI-PoPs/resource zones where the VNF instance is to
                          be created.
                        type: object
                        required:
                          - vnfProfileId
                        properties:
                          vnfProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          locationConstraints:
                            description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                            type: object
                            properties:
                              countryCode:
                                description: >
                                  The two-letter ISO 3166 country code in
                                  capital letters. Shall be present in case the
                                  "area" attribute is absent. May be absent if
                                  the "area" attribute is present (see note).
                                type: string
                              civicAddressElement:
                                description: >
                                  Zero or more elements comprising the civic
                                  address. Shall be absent if the "area"
                                  attribute is present.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - caType
                                    - caValue
                                  properties:
                                    caType:
                                      description: >
                                        Describe the content type of caValue.
                                        The value of caType shall comply with
                                        Section 3.4 of IETF RFC 4776 [13].
                                      type: integer
                                    caValue:
                                      description: >
                                        Content of civic address element
                                        corresponding to the caType. The format
                                        caValue shall comply with Section 3.4 of
                                        IETF RFC 4776 [13].
                                      type: string
                              area:
                                description: >
                                  Geographic area. Shall be absent if the
                                  "civicAddressElement" attribute is present.
                                  The content of this attribute shall follow the
                                  provisions for the "Polygon" geometry object
                                  as defined in IETF RFC 7946, for which the
                                  "type" member shall be set to the value
                                  "Polygon". See note.
                                type: object
                terminateVnfData:
                  description: >
                    Specifies the details to terminate VNF instance(s). It shall
                    be present only if updateType = "REMOVE_VNF" and if the VNF
                    instance(s) is(are) to be terminated as part of this
                    operation. See notes 1 and 4.
                  type: array
                  items:
                    description: "This type represents the information to terminate a VNF that is part of an NS. NOTE:\tIf the VNF is still in service, requesting forceful termination can adversely impact network service.\n"
                    type: object
                    required:
                      - vnfInstanceId
                    properties:
                      vnfInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      terminationType:
                        description: "Indicates whether forceful or graceful termination is requested. See note. Permitted values: -\tFORCEFUL -\tGRACEFUL\n"
                        type: string
                        enum:
                          - FORCEFUL
                          - GRACEFUL
                      gracefulTerminationTimeout:
                        description: >
                          The attribute is only applicable in case of graceful
                          termination. It defines the time to wait for the VNF
                          to be taken out of service before shutting down the
                          VNF and releasing the resources. The unit is seconds.
                        type: integer
                      additionalParams:
                        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
                changeVnfFlavourData:
                  description: >
                    Identifies the new DF of the VNF instance to be changed to.
                    It shall be present only if updateType = "CHANGE_VNF_DF".
                  type: array
                  items:
                    description: "The type represents the information that is requested to be changed deployment flavor for an existing VNF instance. NOTE 1:\tThe indication of externally-managed internal VLs is needed in case networks have been pre-configured for use with certain VNFs, for instance to ensure that these networks have certain properties such as security or acceleration features, or to address particular network topologies. The present document assumes that externally-managed internal VLs are managed by the NFVO and created towards the VIM. NOTE 2:\tIt is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.27).\n"
                    type: object
                    required:
                      - vnfInstanceId
                      - newFlavourId
                    properties:
                      vnfInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      newFlavourId:
                        description: >
                          Identifier of the VNF Virtual Link Descriptor (VLD) in
                          the VNFD.
                        type: string
                      instantiationLevelId:
                        description: >
                          Identifier of the VNF Virtual Link Descriptor (VLD) in
                          the VNFD.
                        type: string
                      extVirtualLinks:
                        description: |
                          Information about external VLs to connect the VNF to.
                        type: array
                        items:
                          description: "This type represents an external VL.\nNOTE:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1.\tFor a VIP CP directly exposed as extCP:\n  1.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD\n  1.2.\ta dedicated IP address is allocated as VIP address,\n  but the NFVO indicates that no port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2.\tFor a VIP CP exposed as extCP via a floating IP address: 2.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD,\n  and the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n"
                          type: object
                          required:
                            - resourceId
                            - extCps
                          properties:
                            extVirtualLinkId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceProviderId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceId:
                              description: >
                                An identifier maintained by the VIM or other
                                resource provider. It is expected to be unique
                                within the VIM instance. Representation: string
                                of variable length.
                              type: string
                            extCps:
                              description: >
                                External CPs of the VNF to be connected to this
                                external VL.
                              type: array
                              items:
                                description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                type: object
                                required:
                                  - cpdId
                                properties:
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  cpConfig:
                                    description: >
                                      Map of instance data that need to be
                                      configured on the CP instances  created
                                      from the respective CPD. The key of the
                                      map which identifies  the individual
                                      VnfExtCpConfig entries is of type
                                      "IdentifierInVnf"  and is managed by the
                                      API consumer. The entries shall be applied
                                      by  the VNFM according to the rules of
                                      JSON Merge Patch (see IETF RFC 7396
                                      [11]).  See notes 2, 3 and 4.
                                    type: object
                                    additionalProperties:
                                      description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - linkPortId
                                        - required:
                                            - cpProtocolData
                                      properties:
                                        parentCpConfigId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        linkPortId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        createExtLinkPort:
                                          description: >
                                            Indicates the need to create a dedicated
                                            link port for the external CP. If set to
                                            True, a link port is created. If set to
                                            False, no link port is created. This
                                            attribute is only applicable for
                                            external CP instances without a floating
                                            IP address that expose a VIP CP instance
                                            for which a dedicated IP address is
                                            allocated. It shall be present in that
                                            case and shall be absent otherwise.
                                          type: boolean
                                        cpProtocolData:
                                          description: >
                                            Parameters for configuring the network
                                            protocols on the link port that connects
                                            the CP to a VL. See note 1.
                                          type: array
                                          items:
                                            description: >
                                              This type represents network protocol
                                              data.
                                            type: object
                                            required:
                                              - layerProtocol
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  Identifier of layer(s) and protocol(s).
                                                  Permitted values: IP_OVER_ETHERNET.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                              ipOverEthernet:
                                                description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                type: object
                                                anyOf:
                                                  - required:
                                                      - ipAddresses
                                                  - required:
                                                      - macAddress
                                                properties:
                                                  macAddress:
                                                    description: >
                                                      A MAC address. Representation: string
                                                      that consists of groups of two
                                                      hexadecimal digits, separated by hyphens
                                                      or colons.
                                                    type: string
                                                    format: MAC
                                                  segmentationType:
                                                    description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                    type: string
                                                    enum:
                                                      - VLAN
                                                      - INHERIT
                                                  segmentationId:
                                                    description: >
                                                      Identification of the network segment to
                                                      which the CP instance connects to. See
                                                      note 3 and note 4.
                                                    type: string
                                                  ipAddresses:
                                                    description: >
                                                      List of IP addresses to assign to the CP
                                                      instance. Each entry represents IP
                                                      address data for fixed or dynamic IP
                                                      address assignment per subnet. If this
                                                      attribute is not present, no IP address
                                                      shall be assigned. See note 1.
                                                    type: array
                                                    items:
                                                      type: object
                                                      required:
                                                        - type
                                                      oneOf:
                                                        - required:
                                                            - fixedAddresses
                                                        - required:
                                                            - numDynamicAddresses
                                                        - required:
                                                            - addressRange
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values:
                                                              - IPV4
                                                              - IPV6
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        fixedAddresses:
                                                          description: >
                                                            Fixed addresses to assign (from the
                                                            subnet defined by "subnetId" if
                                                            provided). Exactly one of
                                                            "fixedAddresses", "numDynamicAddresses"
                                                            or "ipAddressRange" shall be present.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                        numDynamicAddresses:
                                                          description: >
                                                            Number of dynamic addresses to assign
                                                            (from the subnet defined by "subnetId"
                                                            if provided). See note 2.
                                                          type: integer
                                                        addressRange:
                                                          description: >
                                                            An IP address range to be used, e.g. in
                                                            case of egress connections. In case this
                                                            attribute is present, IP addresses from
                                                            the range will be used.
                                                          type: object
                                                          required:
                                                            - minAddress
                                                            - maxAddress
                                                          properties:
                                                            minAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                            maxAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                        subnetId:
                                                          description: >
                                                            An identifier maintained by the VIM or
                                                            other resource provider. It is expected
                                                            to be unique within the VIM instance.
                                                            Representation: string of variable
                                                            length.
                                                          type: string
                            extLinkPorts:
                              description: >
                                Externally provided link ports to be used to
                                connect external connection points to this
                                external VL unless the extCp exposes a VIP CP
                                and a link port is not needed for it based on
                                the conditions defined below. See note.
                              type: array
                              items:
                                description: "This type represents an externally provided link port to be used to connect an external connection point to an external VL. NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  trunkResourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                      extManagedVirtualLinks:
                        description: >
                          information about internal VLs that are managed by
                          NFVO. See note 1 and note 2.
                        type: array
                        items:
                          description: >
                            This type represents an externally-managed internal
                            VL. It shall comply with the provisions defined in
                            Table 6.5.3.27-1.
                          type: object
                          required:
                            - vnfVirtualLinkDescId
                            - resourceId
                          properties:
                            extManagedVirtualLinkId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vnfVirtualLinkDescId:
                              description: >
                                Identifier of the VNF Virtual Link Descriptor
                                (VLD) in the VNFD.
                              type: string
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceProviderId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceId:
                              description: >
                                An identifier maintained by the VIM or other
                                resource provider. It is expected to be unique
                                within the VIM instance. Representation: string
                                of variable length.
                              type: string
                            vnfLinkPort:
                              description: >
                                Externally provided link ports to be used to
                                connect VNFC connection points to this
                                externally-managed VL on this network resource.
                                If this attribute is not present, the VNFM shall
                                create the link ports on the externally-managed
                                VL.
                              type: array
                              items:
                                description: >
                                  This type represents an externally provided
                                  link port to be used to connect a VNFC
                                  connection point to an externally-managed VL.
                                  It shall comply with the provisions defined in
                                  table 6.5.3.78-1.
                                type: object
                                required:
                                  - vnfLinkPortId
                                  - resourceHandle
                                properties:
                                  vnfLinkPortId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                            extManagedMultisiteVirtualLinkId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                      additionalParams:
                        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
                      extensions:
                        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
                      vnfConfigurableProperties:
                        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
                operateVnfData:
                  description: >
                    Identifies the state of the VNF instance to be changed.  It
                    shall be present only if updateType = "OPERATE_VNF".
                  type: array
                  items:
                    description: "This type represents a VNF instance for which the operational state  needs to be changed and the requested new state. NOTE:\tThe \"stopType\" and \"gracefulStopTimeout\" attributes shall be absent, when the \"changeStateTo\" attribute is equal to \"STARTED\". The \"gracefulStopTimeout\" attribute shall be present, when the \"changeStateTo\" attribute is equal to \"STOPPED\" and the \"stopType\" attribute is equal to \"GRACEFUL\". The \"gracefulStopTimeout\" attribute shall be absent, when the \"changeStateTo\" attribute is equal to \"STOPPED\" and the \"stopType\" attribute is equal to \"FORCEFUL\". The request shall be treated as if the \"stopType\" attribute was set to \"FORCEFUL\", when the \"changeStateTo\" attribute is equal to \"STOPPED\" and the \"stopType\" attribute is absent.\n"
                    type: object
                    required:
                      - vnfInstanceId
                      - changeStateTo
                    properties:
                      vnfInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      changeStateTo:
                        description: >
                          STARTED - The VNF instance is up and running. STOPPED
                          - The VNF instance has been shut down.
                        type: string
                        enum:
                          - STARTED
                          - STOPPED
                      stopType:
                        description: >
                          * FORCEFUL: The VNFM will stop the VNF immediately
                          after accepting the
                            request.
                          * GRACEFUL: The VNFM will first arrange to take the
                          VNF out of service
                            after accepting the request. Once that operation is successful or once
                            the timer value specified in the "gracefulStopTimeout" attribute
                            expires, the VNFM will stop the VNF.
                        type: string
                        enum:
                          - FORCEFUL
                          - GRACEFUL
                      gracefulStopTimeout:
                        description: >
                          The time interval (in seconds) to wait for the VNF to
                          be taken out of service during graceful stop, before
                          stopping the VNF. See note.
                        type: integer
                      additionalParam:
                        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
                modifyVnfInfoData:
                  description: >
                    Identifies the VNF information parameters and/or the
                    configurable properties of VNF instance to be modified. It
                    shall be present only if updateType =
                    "MODIFY_VNF_INFORMATION".
                  type: array
                  items:
                    description: >
                      This type represents the information that is requested to
                      be modified for a VNF instance. The information to be
                      modified shall comply with the associated NSD. EXAMPLE.
                      The vnfPkgId attribute value for a particular VNF instance
                      can only be updated with a value that matches the
                      identifier value of a VNF package whose vnfdId is present
                      in the associated profile of the NSD.
                    type: object
                    required:
                      - vnfInstanceId
                    properties:
                      vnfInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfInstanceName:
                        description: >
                          New value of the "vnfInstanceName" attribute in
                          "VnfInstance", or "null" to remove the attribute.
                        type: string
                      vnfInstanceDescription:
                        description: >
                          New value of the "vnfInstanceDescription" attribute in
                          "VnfInstance", or "null" to remove the attribute.
                        type: string
                      vnfdId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfConfigurableProperties:
                        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
                      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
                      extensions:
                        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
                changeExtVnfConnectivityData:
                  description: >
                    Specifies the new external connectivity data of the VNF
                    instance to be changed. It shall be present only if
                    updateType = "CHANGE_EXTERNAL_VNF_CONNECTIVITY".
                  type: array
                  items:
                    description: "This type describes the information invoked by the NFVO to change the external VNF connectivity information maintained by the VNFM. The types of changes that this operation supports are: 1) Disconnect the external CPs that are connected to a particular external VL, and connect them to a different\n   external VL.\n2) Disconnect and delete external CPs that are connected to a particular external VL and that represent subports\n   in a trunk, i.e. CP instances that are created from external CPDs that have trunk mode configured according to\n   clause 7.1.6.3 in ETSI GS NFV-IFA 011. If the parent port is exposed as an \"extCp\", the VNFM shall ensure that\n   the parent port is not deleted. If the parent port is exposed as an \"extCp\" and there are other subports connected,\n   the VNFM shall ensure that the parent port is not disconnected, unless it is reconnected to a different external\n   VL in the same operation.\n3) Change the connectivity parameters of the existing external CPs, including changing addresses.\nNOTE:\tDepending on the capabilities of the underlying VIM resources, certain changes (e.g. modifying the IP address\n      assignment) might not be supported without deleting the resource and creating another one with the modified\n      configuration.\n\n4) Create new CPs that represent supports in a trunk, i.e. CP instances that are created from external CPDs that\n   have trunk mode configured according to clause 7.1.6.3 in ETSI GS NFV-IFA 011, and connect them to a particular\n   external VL. Creation of the parent port with this operation is not supported. This type shall comply with the\n   provisions defined in Table 6.5.3.33-1.\n"
                    type: object
                    required:
                      - vnfInstanceId
                      - extVirtualLinks
                    properties:
                      vnfInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      extVirtualLinks:
                        description: >
                          Information about external VLs to change (e.g. connect
                          the VNF to).
                        type: array
                        items:
                          description: "This type represents an external VL.\nNOTE:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1.\tFor a VIP CP directly exposed as extCP:\n  1.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD\n  1.2.\ta dedicated IP address is allocated as VIP address,\n  but the NFVO indicates that no port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2.\tFor a VIP CP exposed as extCP via a floating IP address: 2.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD,\n  and the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n"
                          type: object
                          required:
                            - resourceId
                            - extCps
                          properties:
                            extVirtualLinkId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceProviderId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceId:
                              description: >
                                An identifier maintained by the VIM or other
                                resource provider. It is expected to be unique
                                within the VIM instance. Representation: string
                                of variable length.
                              type: string
                            extCps:
                              description: >
                                External CPs of the VNF to be connected to this
                                external VL.
                              type: array
                              items:
                                description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                type: object
                                required:
                                  - cpdId
                                properties:
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  cpConfig:
                                    description: >
                                      Map of instance data that need to be
                                      configured on the CP instances  created
                                      from the respective CPD. The key of the
                                      map which identifies  the individual
                                      VnfExtCpConfig entries is of type
                                      "IdentifierInVnf"  and is managed by the
                                      API consumer. The entries shall be applied
                                      by  the VNFM according to the rules of
                                      JSON Merge Patch (see IETF RFC 7396
                                      [11]).  See notes 2, 3 and 4.
                                    type: object
                                    additionalProperties:
                                      description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - linkPortId
                                        - required:
                                            - cpProtocolData
                                      properties:
                                        parentCpConfigId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        linkPortId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        createExtLinkPort:
                                          description: >
                                            Indicates the need to create a dedicated
                                            link port for the external CP. If set to
                                            True, a link port is created. If set to
                                            False, no link port is created. This
                                            attribute is only applicable for
                                            external CP instances without a floating
                                            IP address that expose a VIP CP instance
                                            for which a dedicated IP address is
                                            allocated. It shall be present in that
                                            case and shall be absent otherwise.
                                          type: boolean
                                        cpProtocolData:
                                          description: >
                                            Parameters for configuring the network
                                            protocols on the link port that connects
                                            the CP to a VL. See note 1.
                                          type: array
                                          items:
                                            description: >
                                              This type represents network protocol
                                              data.
                                            type: object
                                            required:
                                              - layerProtocol
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  Identifier of layer(s) and protocol(s).
                                                  Permitted values: IP_OVER_ETHERNET.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                              ipOverEthernet:
                                                description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                type: object
                                                anyOf:
                                                  - required:
                                                      - ipAddresses
                                                  - required:
                                                      - macAddress
                                                properties:
                                                  macAddress:
                                                    description: >
                                                      A MAC address. Representation: string
                                                      that consists of groups of two
                                                      hexadecimal digits, separated by hyphens
                                                      or colons.
                                                    type: string
                                                    format: MAC
                                                  segmentationType:
                                                    description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                    type: string
                                                    enum:
                                                      - VLAN
                                                      - INHERIT
                                                  segmentationId:
                                                    description: >
                                                      Identification of the network segment to
                                                      which the CP instance connects to. See
                                                      note 3 and note 4.
                                                    type: string
                                                  ipAddresses:
                                                    description: >
                                                      List of IP addresses to assign to the CP
                                                      instance. Each entry represents IP
                                                      address data for fixed or dynamic IP
                                                      address assignment per subnet. If this
                                                      attribute is not present, no IP address
                                                      shall be assigned. See note 1.
                                                    type: array
                                                    items:
                                                      type: object
                                                      required:
                                                        - type
                                                      oneOf:
                                                        - required:
                                                            - fixedAddresses
                                                        - required:
                                                            - numDynamicAddresses
                                                        - required:
                                                            - addressRange
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values:
                                                              - IPV4
                                                              - IPV6
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        fixedAddresses:
                                                          description: >
                                                            Fixed addresses to assign (from the
                                                            subnet defined by "subnetId" if
                                                            provided). Exactly one of
                                                            "fixedAddresses", "numDynamicAddresses"
                                                            or "ipAddressRange" shall be present.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                        numDynamicAddresses:
                                                          description: >
                                                            Number of dynamic addresses to assign
                                                            (from the subnet defined by "subnetId"
                                                            if provided). See note 2.
                                                          type: integer
                                                        addressRange:
                                                          description: >
                                                            An IP address range to be used, e.g. in
                                                            case of egress connections. In case this
                                                            attribute is present, IP addresses from
                                                            the range will be used.
                                                          type: object
                                                          required:
                                                            - minAddress
                                                            - maxAddress
                                                          properties:
                                                            minAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                            maxAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                        subnetId:
                                                          description: >
                                                            An identifier maintained by the VIM or
                                                            other resource provider. It is expected
                                                            to be unique within the VIM instance.
                                                            Representation: string of variable
                                                            length.
                                                          type: string
                            extLinkPorts:
                              description: >
                                Externally provided link ports to be used to
                                connect external connection points to this
                                external VL unless the extCp exposes a VIP CP
                                and a link port is not needed for it based on
                                the conditions defined below. See note.
                              type: array
                              items:
                                description: "This type represents an externally provided link port to be used to connect an external connection point to an external VL. NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  trunkResourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                      additionalParams:
                        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
                changeVnfPackageData:
                  description: >
                    Specifies the details to change the VNF package on which the
                    VNF instance is based. It shall be present only if
                    updateType = "CHANGE_VNFPKG".
                  type: array
                  items:
                    description: "This type specifies the information needed to change the current VNF package for a VNF instance. Clause B.3 of the\nETSI GS NFV-IFA 007 illustrates the variants of changes to the current VNF Package and information flow procedures.\nThis operation encompasses the following scenarios:\n*\tChanges of the VNF virtualised resources, such as requirements, composition and structure between the VNF versions,\n  without changing the VNF software version.\n*\tChanges of both the VNF software version and the VNF virtualised resources. This case includes replacing the VNF\n  software version by means of virtualised resources management, such as terminating the current virtualized resource\n  instances running the current software version and instantiating new virtualized resource instances with the\n  destination VNF software version. The new virtualized resource instances may have the same characteristics as the\n  current virtualized resource instances.\n*\tChanges related to the VNFD, such as correction of bugs in the VNFD, changes in the naming scheme of VNFD components\n  (e.g. name of the VDU, vduId), and adding/removing descriptors of VNF Package changes (VnfPackageChangeInfo).\nNOTE:\tFor software updates that are executed by functional entities outside NFV-MANO and that require synchronization\n      of the information held by the NFV-MANO entities with a new VNF package that reflects the same changes, an\n      alternative procedure using the PATCH method on the \"Individual VNF instance\" resource has been defined, as\n      illustrated in annex B.2 of ETSI GS NFV-IFA 007 [19]. This procedure assumes certain restrictions on the\n      characteristics of the new VNF package, as defined in note 1 in table 5.5.2.2-1 of ETSI GS NFV-SOL 003.\nThis type shall comply with the provisions defined in Table 6.5.3.54-1.\n"
                    type: object
                    required:
                      - vnfInstanceId
                      - vnfdId
                    properties:
                      vnfInstanceId:
                        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
                      extVirtualLinks:
                        description: >
                          Information about external VLs to connect the VNF to.
                          Entries in the list that are unchanged need not be
                          supplied as part of this request.
                        type: array
                        items:
                          description: "This type represents an external VL.\nNOTE:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1.\tFor a VIP CP directly exposed as extCP:\n  1.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD\n  1.2.\ta dedicated IP address is allocated as VIP address,\n  but the NFVO indicates that no port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2.\tFor a VIP CP exposed as extCP via a floating IP address: 2.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD,\n  and the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n"
                          type: object
                          required:
                            - resourceId
                            - extCps
                          properties:
                            extVirtualLinkId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceProviderId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceId:
                              description: >
                                An identifier maintained by the VIM or other
                                resource provider. It is expected to be unique
                                within the VIM instance. Representation: string
                                of variable length.
                              type: string
                            extCps:
                              description: >
                                External CPs of the VNF to be connected to this
                                external VL.
                              type: array
                              items:
                                description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                type: object
                                required:
                                  - cpdId
                                properties:
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  cpConfig:
                                    description: >
                                      Map of instance data that need to be
                                      configured on the CP instances  created
                                      from the respective CPD. The key of the
                                      map which identifies  the individual
                                      VnfExtCpConfig entries is of type
                                      "IdentifierInVnf"  and is managed by the
                                      API consumer. The entries shall be applied
                                      by  the VNFM according to the rules of
                                      JSON Merge Patch (see IETF RFC 7396
                                      [11]).  See notes 2, 3 and 4.
                                    type: object
                                    additionalProperties:
                                      description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - linkPortId
                                        - required:
                                            - cpProtocolData
                                      properties:
                                        parentCpConfigId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        linkPortId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        createExtLinkPort:
                                          description: >
                                            Indicates the need to create a dedicated
                                            link port for the external CP. If set to
                                            True, a link port is created. If set to
                                            False, no link port is created. This
                                            attribute is only applicable for
                                            external CP instances without a floating
                                            IP address that expose a VIP CP instance
                                            for which a dedicated IP address is
                                            allocated. It shall be present in that
                                            case and shall be absent otherwise.
                                          type: boolean
                                        cpProtocolData:
                                          description: >
                                            Parameters for configuring the network
                                            protocols on the link port that connects
                                            the CP to a VL. See note 1.
                                          type: array
                                          items:
                                            description: >
                                              This type represents network protocol
                                              data.
                                            type: object
                                            required:
                                              - layerProtocol
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  Identifier of layer(s) and protocol(s).
                                                  Permitted values: IP_OVER_ETHERNET.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                              ipOverEthernet:
                                                description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                type: object
                                                anyOf:
                                                  - required:
                                                      - ipAddresses
                                                  - required:
                                                      - macAddress
                                                properties:
                                                  macAddress:
                                                    description: >
                                                      A MAC address. Representation: string
                                                      that consists of groups of two
                                                      hexadecimal digits, separated by hyphens
                                                      or colons.
                                                    type: string
                                                    format: MAC
                                                  segmentationType:
                                                    description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                    type: string
                                                    enum:
                                                      - VLAN
                                                      - INHERIT
                                                  segmentationId:
                                                    description: >
                                                      Identification of the network segment to
                                                      which the CP instance connects to. See
                                                      note 3 and note 4.
                                                    type: string
                                                  ipAddresses:
                                                    description: >
                                                      List of IP addresses to assign to the CP
                                                      instance. Each entry represents IP
                                                      address data for fixed or dynamic IP
                                                      address assignment per subnet. If this
                                                      attribute is not present, no IP address
                                                      shall be assigned. See note 1.
                                                    type: array
                                                    items:
                                                      type: object
                                                      required:
                                                        - type
                                                      oneOf:
                                                        - required:
                                                            - fixedAddresses
                                                        - required:
                                                            - numDynamicAddresses
                                                        - required:
                                                            - addressRange
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values:
                                                              - IPV4
                                                              - IPV6
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        fixedAddresses:
                                                          description: >
                                                            Fixed addresses to assign (from the
                                                            subnet defined by "subnetId" if
                                                            provided). Exactly one of
                                                            "fixedAddresses", "numDynamicAddresses"
                                                            or "ipAddressRange" shall be present.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                        numDynamicAddresses:
                                                          description: >
                                                            Number of dynamic addresses to assign
                                                            (from the subnet defined by "subnetId"
                                                            if provided). See note 2.
                                                          type: integer
                                                        addressRange:
                                                          description: >
                                                            An IP address range to be used, e.g. in
                                                            case of egress connections. In case this
                                                            attribute is present, IP addresses from
                                                            the range will be used.
                                                          type: object
                                                          required:
                                                            - minAddress
                                                            - maxAddress
                                                          properties:
                                                            minAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                            maxAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                        subnetId:
                                                          description: >
                                                            An identifier maintained by the VIM or
                                                            other resource provider. It is expected
                                                            to be unique within the VIM instance.
                                                            Representation: string of variable
                                                            length.
                                                          type: string
                            extLinkPorts:
                              description: >
                                Externally provided link ports to be used to
                                connect external connection points to this
                                external VL unless the extCp exposes a VIP CP
                                and a link port is not needed for it based on
                                the conditions defined below. See note.
                              type: array
                              items:
                                description: "This type represents an externally provided link port to be used to connect an external connection point to an external VL. NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  trunkResourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                      extManagedVirtualLinks:
                        description: >
                          Information about internal VLs that are managed by the
                          NFVO.
                        type: array
                        items:
                          description: >
                            This type represents an externally-managed internal
                            VL. It shall comply with the provisions defined in
                            Table 6.5.3.27-1.
                          type: object
                          required:
                            - vnfVirtualLinkDescId
                            - resourceId
                          properties:
                            extManagedVirtualLinkId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vnfVirtualLinkDescId:
                              description: >
                                Identifier of the VNF Virtual Link Descriptor
                                (VLD) in the VNFD.
                              type: string
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceProviderId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceId:
                              description: >
                                An identifier maintained by the VIM or other
                                resource provider. It is expected to be unique
                                within the VIM instance. Representation: string
                                of variable length.
                              type: string
                            vnfLinkPort:
                              description: >
                                Externally provided link ports to be used to
                                connect VNFC connection points to this
                                externally-managed VL on this network resource.
                                If this attribute is not present, the VNFM shall
                                create the link ports on the externally-managed
                                VL.
                              type: array
                              items:
                                description: >
                                  This type represents an externally provided
                                  link port to be used to connect a VNFC
                                  connection point to an externally-managed VL.
                                  It shall comply with the provisions defined in
                                  table 6.5.3.78-1.
                                type: object
                                required:
                                  - vnfLinkPortId
                                  - resourceHandle
                                properties:
                                  vnfLinkPortId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                            extManagedMultisiteVirtualLinkId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                      additionalParams:
                        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
                      extensions:
                        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
                      vnfConfigurableProperties:
                        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
                addSap:
                  description: >
                    Identifies a new SAP to be added to the NS instance. It
                    shall be present only if updateType = "ADD_SAP."
                  type: array
                  items:
                    description: >
                      This type represents the information related to a SAP of a
                      NS. It shall comply with the provisions defined in Table
                      6.5.3.10-1.
                    type: object
                    required:
                      - sapdId
                      - sapName
                      - description
                    properties:
                      sapdId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      sapName:
                        description: |
                          Human readable name for the SAP.
                        type: string
                      description:
                        description: |
                          Human readable description for the SAP.
                        type: string
                      sapProtocolData:
                        description: >
                          Parameters for configuring the network protocols on
                          the SAP.
                        type: array
                        items:
                          description: |
                            This type represents network protocol data.
                          type: object
                          required:
                            - layerProtocol
                          properties:
                            layerProtocol:
                              description: >
                                Identifier of layer(s) and protocol(s).
                                Permitted values: IP_OVER_ETHERNET.
                              type: string
                              enum:
                                - IP_OVER_ETHERNET
                            ipOverEthernet:
                              description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                              type: object
                              anyOf:
                                - required:
                                    - ipAddresses
                                - required:
                                    - macAddress
                              properties:
                                macAddress:
                                  description: >
                                    A MAC address. Representation: string that
                                    consists of groups of two hexadecimal
                                    digits, separated by hyphens or colons.
                                  type: string
                                  format: MAC
                                segmentationType:
                                  description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                  type: string
                                  enum:
                                    - VLAN
                                    - INHERIT
                                segmentationId:
                                  description: >
                                    Identification of the network segment to
                                    which the CP instance connects to. See note
                                    3 and note 4.
                                  type: string
                                ipAddresses:
                                  description: >
                                    List of IP addresses to assign to the CP
                                    instance. Each entry represents IP address
                                    data for fixed or dynamic IP address
                                    assignment per subnet. If this attribute is
                                    not present, no IP address shall be
                                    assigned. See note 1.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - type
                                    oneOf:
                                      - required:
                                          - fixedAddresses
                                      - required:
                                          - numDynamicAddresses
                                      - required:
                                          - addressRange
                                    properties:
                                      type:
                                        description: >
                                          The type of the IP addresses. Permitted
                                          values:
                                            - IPV4
                                            - IPV6
                                        type: string
                                        enum:
                                          - IPV4
                                          - IPV6
                                      fixedAddresses:
                                        description: >
                                          Fixed addresses to assign (from the
                                          subnet defined by "subnetId" if
                                          provided). Exactly one of
                                          "fixedAddresses", "numDynamicAddresses"
                                          or "ipAddressRange" shall be present.
                                        type: array
                                        items:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                      numDynamicAddresses:
                                        description: >
                                          Number of dynamic addresses to assign
                                          (from the subnet defined by "subnetId"
                                          if provided). See note 2.
                                        type: integer
                                      addressRange:
                                        description: >
                                          An IP address range to be used, e.g. in
                                          case of egress connections. In case this
                                          attribute is present, IP addresses from
                                          the range will be used.
                                        type: object
                                        required:
                                          - minAddress
                                          - maxAddress
                                        properties:
                                          minAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          maxAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                      subnetId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                removeSapId:
                  description: >
                    The identifier an existing SAP to be removed from the NS
                    instance. It shall be present only if updateType =
                    "REMOVE_SAP."
                  type: array
                  items:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                addNestedNsData:
                  description: >
                    The identifier of an existing nested NS instance to be added
                    to (nested within) the NS instance. It shall be present only
                    if updateType = "ADD_NESTED_NS".
                  type: array
                  items:
                    description: >
                      This type specifies an existing nested NS instance to be
                      used in the NS instance  and if needed, the NsProfile to
                      use for this nested NS instance.  It shall comply with the
                      provisions defined in Table 6.5.3.19a-1.
                    type: object
                    required:
                      - nestedNsInstanceId
                    properties:
                      nestedNsInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      nsProfileId:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                removeNestedNsId:
                  description: >
                    The identifier of an existing nested NS instance to be
                    removed from the NS instance. It shall be present only if
                    updateType = "REMOVE_NESTED_NS".
                  type: array
                  items:
                    description: >
                      An identifier that is unique with respect to a NS.
                      Representation: string of variable length.
                    type: string
                assocNewNsdVersionData:
                  description: >
                    This type specifies a new NSD version that is associated to
                    the NS instance. After issuing the Update NS operation with
                    updateType = "AssocNewNsdVersion", the NFVO shall use the
                    referred NSD as a basis for the given NS instance. Different
                    versions of the same NSD have same nsdInvariantId, but
                    different nsdId attributes, therefore if the nsdInvariantId
                    of the NSD version that is to be associated to this NS
                    instance is different from the one used before, the NFVO
                    shall reject the request. Only new versions of the same NSD
                    can be associated to an existing NS instance. This data type
                    shall comply with the provisions defined in Table
                    6.5.3.34-1.
                  type: object
                  required:
                    - newNsdId
                  properties:
                    newNsdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    sync:
                      description: >
                        Specify whether the NS instance shall be automatically
                        synchronized to the new NSD by the NFVO (in case of true
                        value) or the NFVO shall not do any action (in case of a
                        false value) and wait for further guidance from OSS/BSS
                        (i.e. waiting for OSS/BSS to issue NS lifecycle
                        management operation to explicitly add/remove VNFs and
                        modify information of VNF instances according to the new
                        NSD). The synchronization to the new NSD means e.g.
                        instantiating/adding those VNFs whose VNFD is referenced
                        by the new NSD version but not referenced by the old
                        one, terminating/removing those VNFs whose VNFD is
                        referenced by the old NSD version but not referenced by
                        the new NSD version, modifying information of VNF
                        instances to the new applicable VNFD provided in the new
                        NSD version. A cardinality of 0 indicates that
                        synchronization shall not be done.
                      type: boolean
                moveVnfInstanceData:
                  description: >
                    Specify existing VNF instance to be moved from one NS
                    instance to another NS instance. It shall be present only if
                    updateType = MOVE_VNF".
                  type: array
                  items:
                    description: >
                      This type specifies existing VNF instances to be moved
                      from one NS instance (source) to another NS instance
                      (destination). The NS instance defined in the Update NS
                      operation indicates the source NS instance and the
                      destination NS instance is specified in this data type
                      (referred to targetNsInstanceId). It shall comply with the
                      provisions defined in Table 6.5.3.35-1.
                    type: object
                    required:
                      - targetNsInstanceId
                    properties:
                      targetNsInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfInstanceId:
                        description: |
                          Specify the VNF instance that is moved.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                addVnffg:
                  description: >
                    Specify the new VNFFG to be created to the NS Instance. It
                    shall be present only if updateType = "ADD_VNFFG".
                  type: array
                  items:
                    description: >
                      This type specifies the parameters used for the creation
                      of a new VNFFG instance. It shall comply with the
                      provisions defined in Table 6.5.3.36-1.
                    type: object
                    required:
                      - vnffgdId
                      - vnffgName
                      - description
                    properties:
                      targetNsInstanceId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      vnffgName:
                        description: |
                          Human readable name for the VNFFG.
                        type: string
                      description:
                        description: |
                          Human readable description for the VNFFG.
                        type: string
                removeVnffgId:
                  description: >
                    Identifier of an existing VNFFG to be removed from the NS
                    Instance. It shall be present only if updateType =
                    "REMOVE_VNFFG".
                  type: array
                  items:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                updateVnffg:
                  description: >
                    Specify the new VNFFG Information data to be updated for a
                    VNFFG of the NS Instance. It shall be present only if
                    updateType = "UPDATE_VNFFG".
                  type: array
                  items:
                    description: >
                      This type specifies the parameters used for the update of
                      an existing VNFFG instance. It shall comply with the
                      provisions defined in Table 6.5.3.37-1.
                    type: object
                    required:
                      - vnffgInfoId
                    properties:
                      vnffgInfoId:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                      nfp:
                        description: >
                          Indicate the desired new NFP(s) for a given VNFFG
                          after the operations of addition/removal of NS
                          components (e.g. VNFs, VLs, etc.) have been completed,
                          or indicate the updated or newly created NFP
                          classification and selection rule which applied to an
                          existing NFP.
                        type: array
                        items:
                          description: "This type contains information used to create or modify NFP instance parameters for the update of an existing VNFFG instance. It shall comply with the provisions defined in Table 6.5.3.38-1. NOTE 1:\tIt shall be present for modified NFPs and shall be absent for the new NFP. NOTE 2:\tIt shall be present for the new NFP, and it may be present otherwise. NOTE 3:\tAt least a CP or an nfpRule shall be present. NOTE 4: \tWhen multiple identifiers are included, the position of the identifier in the cpGroup value specifies the position of the group in the path.\n"
                          type: object
                          properties:
                            nfpInfoId:
                              description: >
                                An identifier that is unique with respect to a
                                NS. Representation: string of variable length.
                              type: string
                            nfpName:
                              description: >
                                Human readable name for the NFP. It shall be
                                present for the new NFP, and it may be present
                                otherwise. See note 2.
                              type: string
                            description:
                              description: >
                                Human readable description for the NFP. It shall
                                be present for the new NFP, and it may be
                                present otherwise. See note 2.
                              type: string
                            cpGroup:
                              description: >
                                Group(s) of CPs and/or SAPs which the NFP passes
                                by. Cardinality can be 0 if only updated or
                                newly created NFP classification and selection
                                rule which applied to an existing NFP is
                                provided. See note 3 and 4.
                              type: array
                              items:
                                description: "This type represents describes a group of CPs and/or SAPs pairs associated to  the same position in an NFP. It shall comply with the provisions defined in  Table 6.5.3.71-1. NOTE:\tAll CP or SAP pairs in a group shall be instantiated from connection point descriptors or service access point descriptors referenced in the corresponding NfpPositionDesc.\n"
                                type: object
                                properties:
                                  cpPairInfo:
                                    description: >
                                      One or more pair(s) of ingress and egress
                                      CPs or SAPs which the NFP passes by. All
                                      CP or SAP pairs in a group shall be
                                      instantiated from connection point 
                                      descriptors or service access point
                                      descriptors referenced in the
                                      corresponding  NfpPositionDesc.

                                      See note.
                                    type: array
                                    minItems: 1
                                    items:
                                      description: "This type represents describes a pair of ingress and egress CPs or SAPs which  the NFP passes by. It shall comply with the provisions defined in Table 6.5.3.72-1.\nNOTE 1:\tThe presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates that the CP or SAP is used both as an ingress and egress port at a particular NFP position. NOTE 2:\tOnly one of these three attributes shall be present.\n"
                                      type: object
                                      properties:
                                        vnfExtCpIds:
                                          description: >
                                            Identifier(s) of the VNF CP(s) which
                                            form the pair.

                                            See note 1 and note 2.
                                          type: array
                                          maxItems: 2
                                          items:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                        pnfExtCpIds:
                                          description: >
                                            Identifier(s) of the PNF CP(s) which
                                            form the pair.

                                            See note 1 and note 2.
                                          type: array
                                          maxItems: 2
                                          items:
                                            description: >
                                              An Identifier that is unique within
                                              respect to a PNF. Representation: string
                                              of variable length.
                                            type: string
                                        sapIds:
                                          description: >
                                            Identifier(s) of the SAP(s) which form
                                            the pair.

                                            See note 1 and note 2.
                                          type: array
                                          maxItems: 2
                                          items:
                                            description: >
                                              An identifier that is unique with
                                              respect to a NS. Representation: string
                                              of variable length.
                                            type: string
                                  forwardingBehaviour:
                                    description: >
                                      Identifies a rule to apply to forward
                                      traffic to the ingress CPs or SAPs of  the
                                      group. Permitted values: * ALL = Traffic
                                      flows shall be forwarded simultaneously to
                                      all CPs or SAPs  of the group. * LB =
                                      Traffic flows shall be forwarded to one CP
                                      or SAP of the group selected  based on a
                                      loadbalancing algorithm.
                                    type: string
                                    enum:
                                      - ALL
                                      - LB
                                  forwardingBehaviourInputParameters:
                                    description: "This type represents provides input parameters to configure the forwarding behaviour.  It shall comply with the provisions defined in Table 6.5.3.73-1. NOTE 1:\tIf applicable to the algorithm but not provided, default values determined by the VIM or NFVI are expected to be used. NOTE 2:\tWeight applies to the CP instances in the order they have been created.\n"
                                    type: object
                                    properties:
                                      algortihmName:
                                        description: >
                                          May be included if forwarding behaviour
                                          is equal to LB. Shall not be included
                                          otherwise. Permitted values: *
                                          ROUND_ROBIN * LEAST_CONNECTION *
                                          LEAST_TRAFFIC * LEAST_RESPONSE_TIME *
                                          CHAINED_FAILOVER * SOURCE_IP_HASH *
                                          SOURCE_MAC_HASH
                                        type: string
                                        enum:
                                          - ROUND_ROBIN
                                          - LEAST_CONNECTION
                                          - LEAST_TRAFFIC
                                          - LEAST_RESPONSE_TIME
                                          - CHAINED_FAILOVER
                                          - SOURCE_IP_HASH
                                          - SOURCE_MAC_HASH
                                      algorithmWeights:
                                        description: >
                                          Percentage of messages sent to a CP
                                          instance. May be included if applicable
                                          to  the algorithm. See note 1 and note
                                          2.
                                        type: array
                                        items:
                                          type: integer
                            nfpRule:
                              description: "The NfpRule data type is an expression of the conditions that shall be met in order for the NFP to be applicable to the packet. The condition acts as a flow classifier and it is met only if all the values expressed in the condition are matched by those in the packet. It shall comply with the provisions defined in Table 6.5.3.40-1.\nNOTE:\tAt least one attribute shall be present. If multiple attributes are present, a logical \"AND\" operation shall be applied to those attributes when matching packets against the rule.\n"
                              type: object
                              anyOf:
                                - required:
                                    - etherDestinationAddress
                                - required:
                                    - etherSourceAddress
                                - required:
                                    - etherType
                                - required:
                                    - vlanTag
                                - required:
                                    - protocol
                                - required:
                                    - dscp
                                - required:
                                    - sourcePortRange
                                - required:
                                    - destinationPortRange
                                - required:
                                    - sourceIpAddressPrefix
                                - required:
                                    - destinationIpAddressPrefix
                                - required:
                                    - extendedCriteria
                              properties:
                                etherDestinationAddress:
                                  description: >
                                    A MAC address. Representation: string that
                                    consists of groups of two hexadecimal
                                    digits, separated by hyphens or colons.
                                  type: string
                                  format: MAC
                                etherSourceAddress:
                                  description: >
                                    A MAC address. Representation: string that
                                    consists of groups of two hexadecimal
                                    digits, separated by hyphens or colons.
                                  type: string
                                  format: MAC
                                etherType:
                                  description: "Indicates the protocol carried over the Ethernet layer.\nPermitted values: -\tIPV4 -\tIPV6\nSee note.\n"
                                  type: string
                                  enum:
                                    - IPV4
                                    - IPV6
                                vlanTag:
                                  description: >
                                    Indicates a VLAN identifier in an IEEE
                                    802.1Q-2018 tag Multiple tags can be
                                    included for QinQ stacking. See note.
                                  type: array
                                  items:
                                    description: |
                                      A string as defined in IETF RFC 8259.
                                    type: string
                                protocol:
                                  description: >
                                    Indicates the L4 protocol, For IPv4 this
                                    corresponds to the field called "Protocol"
                                    to identify the next level protocol. For
                                    IPv6 this corresponds to the field is called
                                    the "Next Header" field. Permitted values:
                                    Any keyword defined in the IANA protocol
                                    registry, e.g.: TCP UDP ICMP

                                    See note.
                                  type: string
                                  enum:
                                    - TCP
                                    - UDP
                                    - ICMP
                                dscp:
                                  description: >
                                    For IPv4 a string of "0" and "1" digits that
                                    corresponds to the 6-bit Differentiated
                                    Services Code Point (DSCP) field of the IP
                                    header. For IPv6 a string of "0" and "1"
                                    digits that corresponds to the 6
                                    differentiated services bits of the traffic
                                    class header field.

                                    See note.
                                  type: string
                                sourcePortRange:
                                  description: >
                                    The PortRange data type provides the lower
                                    and upper bounds of a range of Internet
                                    ports. It shall comply with the provisions
                                    defined in Table 6.5.3.42-1.
                                  type: object
                                  required:
                                    - lowerPort
                                    - upperPort
                                  properties:
                                    lowerPort:
                                      description: >
                                        Identifies the lower bound of the port
                                        range. upperPort Integer
                                      type: integer
                                      minimum: 0
                                    upperPort:
                                      description: >
                                        Identifies the upper bound of the port
                                        range.
                                      type: integer
                                      minimum: 0
                                destinationPortRange:
                                  description: >
                                    The PortRange data type provides the lower
                                    and upper bounds of a range of Internet
                                    ports. It shall comply with the provisions
                                    defined in Table 6.5.3.42-1.
                                  type: object
                                  required:
                                    - lowerPort
                                    - upperPort
                                  properties:
                                    lowerPort:
                                      description: >
                                        Identifies the lower bound of the port
                                        range. upperPort Integer
                                      type: integer
                                      minimum: 0
                                    upperPort:
                                      description: >
                                        Identifies the upper bound of the port
                                        range.
                                      type: integer
                                      minimum: 0
                                sourceIpAddressPrefix:
                                  description: >
                                    An IPV4 or IPV6 address range in CIDR
                                    format. For IPV4 address range, refer to
                                    IETF RFC 4632 [12]. For IPV6 address range,
                                    refer to IETF RFC 4291.
                                  type: string
                                destinationIpAddressPrefix:
                                  description: >
                                    An IPV4 or IPV6 address range in CIDR
                                    format. For IPV4 address range, refer to
                                    IETF RFC 4632 [12]. For IPV6 address range,
                                    refer to IETF RFC 4291.
                                  type: string
                                extendedCriteria:
                                  description: >
                                    Indicates values of specific bits in a
                                    frame. See note.
                                  type: array
                                  items:
                                    description: >
                                      The Mask data type identifies the value to
                                      be matched for a sequence of bits at a
                                      particular location in a frame. It shall
                                      comply with the provisions defined in
                                      Table 6.5.3.41-1.
                                    type: object
                                    required:
                                      - startingPoint
                                      - length
                                      - value
                                    properties:
                                      startingPoint:
                                        description: >
                                          Indicates the offset between the last
                                          bit of the source mac address and the
                                          first bit of the sequence of bits to be
                                          matched.
                                        type: integer
                                      length:
                                        description: >
                                          Indicates the number of bits to be
                                          matched.
                                        type: integer
                                      value:
                                        description: >
                                          Provide the sequence of bit values to be
                                          matched.
                                        type: string
                      nfpInfoId:
                        description: >
                          Identifier(s) of the NFP to be deleted from a given
                          VNFFG.
                        type: array
                        items:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                changeNsFlavourData:
                  description: >
                    This type specifies an existing NS instance for which the DF
                    needs to be changed. This specifies the new DF, the
                    instantiationLevel of the new DF that may be used and the
                    additional parameters as input for the flavour change. It
                    shall comply with the provisions defined in Table
                    6.5.3.39-1.
                  type: object
                  required:
                    - newNsFlavourId
                  properties:
                    newNsFlavourId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    instantiationLevelId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                addPnfData:
                  description: >
                    specifies the PNF to be added into the NS instance.  It
                    shall be present only if updateType = "ADD_PNF".
                  type: array
                  items:
                    description: >
                      This type specifies an PNF to be added to the NS instance
                      and the PNF Profile to use for this PNF. It shall comply
                      with the provisions defined in Table 6.5.3.14-1.
                    type: object
                    required:
                      - pnfId
                      - pnfName
                      - pnfdId
                      - pnfProfileId
                    properties:
                      pnfId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      pnfName:
                        description: |
                          Name of the PNF
                        type: string
                      pnfdId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      pnfProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      cpData:
                        description: |
                          Address assigned for the PNF external CP(s).
                        type: array
                        items:
                          description: >
                            This type represents the configuration data on the
                            external CP of the PNF. It shall comply with the
                            provisions defined in Table 6.5.3.16-1.
                          type: object
                          required:
                            - cpProtocolData
                          properties:
                            cpInstanceId:
                              description: >
                                An Identifier that is unique within respect to a
                                PNF. Representation: string of variable length.
                              type: string
                            cpdId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            cpProtocolData:
                              description: |
                                Address assigned for this CP.
                              type: array
                              items:
                                description: |
                                  This type represents network protocol data.
                                type: object
                                required:
                                  - layerProtocol
                                properties:
                                  layerProtocol:
                                    description: >
                                      Identifier of layer(s) and protocol(s).
                                      Permitted values: IP_OVER_ETHERNET.
                                    type: string
                                    enum:
                                      - IP_OVER_ETHERNET
                                  ipOverEthernet:
                                    description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                    type: object
                                    anyOf:
                                      - required:
                                          - ipAddresses
                                      - required:
                                          - macAddress
                                    properties:
                                      macAddress:
                                        description: >
                                          A MAC address. Representation: string
                                          that consists of groups of two
                                          hexadecimal digits, separated by hyphens
                                          or colons.
                                        type: string
                                        format: MAC
                                      segmentationType:
                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                        type: string
                                        enum:
                                          - VLAN
                                          - INHERIT
                                      segmentationId:
                                        description: >
                                          Identification of the network segment to
                                          which the CP instance connects to. See
                                          note 3 and note 4.
                                        type: string
                                      ipAddresses:
                                        description: >
                                          List of IP addresses to assign to the CP
                                          instance. Each entry represents IP
                                          address data for fixed or dynamic IP
                                          address assignment per subnet. If this
                                          attribute is not present, no IP address
                                          shall be assigned. See note 1.
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - type
                                          oneOf:
                                            - required:
                                                - fixedAddresses
                                            - required:
                                                - numDynamicAddresses
                                            - required:
                                                - addressRange
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values:
                                                  - IPV4
                                                  - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            fixedAddresses:
                                              description: >
                                                Fixed addresses to assign (from the
                                                subnet defined by "subnetId" if
                                                provided). Exactly one of
                                                "fixedAddresses", "numDynamicAddresses"
                                                or "ipAddressRange" shall be present.
                                              type: array
                                              items:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                            numDynamicAddresses:
                                              description: >
                                                Number of dynamic addresses to assign
                                                (from the subnet defined by "subnetId"
                                                if provided). See note 2.
                                              type: integer
                                            addressRange:
                                              description: >
                                                An IP address range to be used, e.g. in
                                                case of egress connections. In case this
                                                attribute is present, IP addresses from
                                                the range will be used.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                modifyPnfData:
                  description: >
                    Specifies the PNF to be modified in the NS instance.  It
                    shall be present only if updateType = "MODIFY_PNF".
                  type: array
                  items:
                    description: "This type specifies an PNF to be modified in the NS instance. It shall comply with the provisions defined in Table 6.5.3.15-1. NOTE:\tAt least one attribute shall be present.\n"
                    type: object
                    required:
                      - pnfId
                    anyOf:
                      - required:
                          - pnfName
                      - required:
                          - cpData
                    properties:
                      pnfId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      pnfName:
                        description: |
                          Name of the PNF. See note.
                        type: string
                      cpData:
                        description: |
                          Address assigned for the PNF external CP(s). See note.
                        type: array
                        items:
                          description: >
                            This type represents the configuration data on the
                            external CP of the PNF. It shall comply with the
                            provisions defined in Table 6.5.3.16-1.
                          type: object
                          required:
                            - cpProtocolData
                          properties:
                            cpInstanceId:
                              description: >
                                An Identifier that is unique within respect to a
                                PNF. Representation: string of variable length.
                              type: string
                            cpdId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            cpProtocolData:
                              description: |
                                Address assigned for this CP.
                              type: array
                              items:
                                description: |
                                  This type represents network protocol data.
                                type: object
                                required:
                                  - layerProtocol
                                properties:
                                  layerProtocol:
                                    description: >
                                      Identifier of layer(s) and protocol(s).
                                      Permitted values: IP_OVER_ETHERNET.
                                    type: string
                                    enum:
                                      - IP_OVER_ETHERNET
                                  ipOverEthernet:
                                    description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                    type: object
                                    anyOf:
                                      - required:
                                          - ipAddresses
                                      - required:
                                          - macAddress
                                    properties:
                                      macAddress:
                                        description: >
                                          A MAC address. Representation: string
                                          that consists of groups of two
                                          hexadecimal digits, separated by hyphens
                                          or colons.
                                        type: string
                                        format: MAC
                                      segmentationType:
                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                        type: string
                                        enum:
                                          - VLAN
                                          - INHERIT
                                      segmentationId:
                                        description: >
                                          Identification of the network segment to
                                          which the CP instance connects to. See
                                          note 3 and note 4.
                                        type: string
                                      ipAddresses:
                                        description: >
                                          List of IP addresses to assign to the CP
                                          instance. Each entry represents IP
                                          address data for fixed or dynamic IP
                                          address assignment per subnet. If this
                                          attribute is not present, no IP address
                                          shall be assigned. See note 1.
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - type
                                          oneOf:
                                            - required:
                                                - fixedAddresses
                                            - required:
                                                - numDynamicAddresses
                                            - required:
                                                - addressRange
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values:
                                                  - IPV4
                                                  - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            fixedAddresses:
                                              description: >
                                                Fixed addresses to assign (from the
                                                subnet defined by "subnetId" if
                                                provided). Exactly one of
                                                "fixedAddresses", "numDynamicAddresses"
                                                or "ipAddressRange" shall be present.
                                              type: array
                                              items:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                            numDynamicAddresses:
                                              description: >
                                                Number of dynamic addresses to assign
                                                (from the subnet defined by "subnetId"
                                                if provided). See note 2.
                                              type: integer
                                            addressRange:
                                              description: >
                                                An IP address range to be used, e.g. in
                                                case of egress connections. In case this
                                                attribute is present, IP addresses from
                                                the range will be used.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                removePnfId:
                  description: >
                    Identifier of the PNF to be deleted from the NS instance. It
                    shall be present only if updateType = "REMOVE_PNF".
                  type: array
                  items:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                modifyWanConnectionInfoData:
                  description: >
                    Specifies the data to modify about WAN related connectivity
                    information. It shall be present only if updateType =
                    "MODIFY_WAN_CONNECTION_INFO".
                  type: array
                  items:
                    description: >
                      This type represents attribute modifications for WAN
                      connection information. The attributes of the
                      "WanConnectionInfo" that can be modified according to the
                      provisions of the "UpdateNsRequest" in clause 6.5.2.12
                      related to WAN connection information are included in the
                      "ModifyWanConnectionInfoData" data type. It shall comply
                      with the provisions defined in table 6.5.3.92-1.
                    type: object
                    required:
                      - wanConnectionInfoId
                    properties:
                      wanConnectionInfoId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      mscsName:
                        description: >
                          New value of the "mscsName" attribute in "MscsInfo",
                          or "null" to remove the attribute.
                        type: string
                      mscsDescription:
                        description: >
                          New value of the "mscsDescription" attribute in
                          "MscsInfo", or "null" to remove the attribute.
                        type: string
                      mscsEndpoints:
                        description: >
                          New content of certain entries of MSCS endpoints in
                          the "mscsEndpoints" attribute in "MscsInfo", as
                          defined below this table.
                        type: array
                        items:
                          description: >
                            This type provides encapsulates information about an
                            MSCS endpoint of the MSCS. It shall comply with the
                            provisions defined in table 6.5.3.83-1.
                          type: object
                          required:
                            - mscsEndpointId
                            - directionality
                            - connectivityServiceEndpoinId
                          properties:
                            mscsEndpointId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            directionality:
                              description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                              type: string
                              enum:
                                - INBOUND
                                - OUTBOUND
                                - BOTH
                            connectivityServiceEndpoinId:
                              description: >
                                References the connectivity service endpoint
                                configuration information applicable to support
                                the MSCS endpoint. More than one connectivity
                                service endpoint can be referred when endpoints
                                are in LAG mode.
                              type: array
                              items:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                      removeMscsEndpointIds:
                        description: >
                          List of identifier entries to be deleted from the
                          "mscsEndpoints" attribute array in "MscsInfo", to be
                          used as "deleteIdList" as defined below this table.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      connectivityServiceEndpoints:
                        description: >
                          New content of certain entries of connectivity service
                          endpoints in the "connectivityServiceEndpointInfos"
                          attribute in "WanConnectionProtocolInfo", as defined
                          below this table.
                        type: array
                        items:
                          description: >
                            This type provides configuration data for the
                            NFVI-PoP network gateway providing connectivity
                            service endpoints. The connectivity service
                            endpoints are used as endpoints by an MSCS. It shall
                            comply with the provisions defined in Table
                            6.5.3.84-1.
                          type: object
                          required:
                            - connectivityServiceEndpointId
                            - vimId
                          properties:
                            connectivityServiceEndpointId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            siteToWanLayer2ProtocolData:
                              description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                              type: object
                              required:
                                - layer2ConnectionInfo
                              properties:
                                layer2ConnectionInfo:
                                  description: >
                                    Layer 2 protocol parameters of the
                                    connectivity service endpoint (CSE).
                                  type: object
                                  required:
                                    - connectionType
                                    - interfaceType
                                    - interfaceTagging
                                    - encapsulationType
                                  properties:
                                    connectionType:
                                      description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                      type: string
                                      enum:
                                        - CSE
                                        - AGGREGATE_CSE
                                    interfaceType:
                                      description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                      type: string
                                      enum:
                                        - PARENT
                                        - LOGICAL
                                    interfaceTagging:
                                      description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                      type: string
                                      enum:
                                        - UNTAGGED
                                        - TAGGED
                                    encapsulationType:
                                      description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                      type: string
                                      enum:
                                        - ETH
                                        - VLAN
                                        - VXLAN
                                    vlanTaggingType:
                                      description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                      type: string
                                      enum:
                                        - DOT1Q
                                        - QINQ
                                        - QINANY
                                    wanSegmentIds:
                                      description: >
                                        Segment identifiers to pass on the
                                        tagged interface. Shall be present if
                                        encapsulationType="VLAN" or “VXLAN".
                                      type: object
                                      required:
                                        - wanSegmentIdValue
                                      properties:
                                        wanSegmentIdValue:
                                          description: >
                                            Identifier of the network segment (e.g.,
                                            VLAN id or VNI).
                                          type: string
                                        wanSegmentIdUpperRange:
                                          description: >
                                            Identifier of the upper range network
                                            segment, in case the "wanSegmentIds" is
                                            used to define a range.
                                          type: string
                                    vxlanConfig:
                                      description: >
                                        Additional configuration needed when
                                        using VXLAN encapsulation. Shall be
                                        present if interfaceTagging="TAGGED" and
                                        encapsulationType="VXLAN".
                                      type: object
                                      required:
                                        - peerMode
                                      properties:
                                        peerMode:
                                          description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                          type: string
                                          enum:
                                            - STATIC
                                            - BGP_EVPN
                                        peers:
                                          description: >
                                            List of IP addresses of VTEP peers when
                                            using static mode.
                                          type: array
                                          items:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                    lagInterfaceData:
                                      description: >
                                        Information for setting up a LAG
                                        interface aggregating multiple
                                        connectivity service endpoints.
                                      type: object
                                      required:
                                        - aggregatedEndpoints
                                        - lacpActivation
                                        - lacpConfig
                                      properties:
                                        aggregatedEndpoints:
                                          description: >
                                            List of the connectivity service
                                            endpoints that are to be aggregated.
                                            Shall be present if
                                            connectionType="AGGREGATE_CSE". In case
                                            of aggregating connectivity service
                                            endpoints, only one
                                            SiteToWanLayer2ProtocolData shall be
                                            provided for the whole set of aggregated
                                            endpoints.
                                          type: array
                                          items:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                        lacpActivation:
                                          description: >
                                            Indicates whether to activate LACP on
                                            the interface. If "TRUE", the LACP is to
                                            be activated, or "FALSE" otherwise.
                                            Default value is "FALSE".
                                          type: boolean
                                        lacpConfig:
                                          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
                                    layer2ControlProtocol:
                                      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
                                mtuL2:
                                  description: >
                                    Maximum Transmission Unit (MTU) that can be
                                    forwarded at layer 2 (in bytes). Default
                                    value is "1500" (bytes).
                                  type: number
                                virtualRoutingAndForwarding:
                                  description: >
                                    Configuration related to the L2 virtual
                                    routing and forwarding (MAC-VRF).
                                  type: object
                                  required:
                                    - macVrfName
                                  properties:
                                    macVrfName:
                                      description: >
                                        Name (or identifier) of the MAC-VRF
                                        instance.
                                      type: string
                                forwardingConfig:
                                  description: >
                                    Information related to the forwarding of the
                                    VN in the NFVI-PoP to the connectivity
                                    service endpoint, if information about the
                                    VN to "stitch" is already known. . by the
                                    OSS/BSS. Shall not be provided otherwise, in
                                    which case the NFVO will infer the
                                    forwarding configuration based on the NS VL,
                                    or external VL, or externally-managed VL
                                    provisioning.
                                  type: object
                                  oneOf:
                                    - required:
                                        - networkResources
                                    - required:
                                        - vnSegmentIds
                                  properties:
                                    networkResources:
                                      description: >
                                        Reference to the VN resource to be
                                        forwarded into/from the MSCS. See note.
                                      type: array
                                      items:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                    vnSegmentIds:
                                      description: >
                                        Identifiers of the network segments of
                                        the VN resources to be forwarded
                                        into/from the MSCS.
                                      type: object
                                      required:
                                        - vnSegmentIdValue
                                      properties:
                                        vnSegmentIdValue:
                                          description: |
                                            Identifier of the network segment.
                                          type: string
                                        vnSegmentIdUpperRange:
                                          description: >
                                            Identifier of the upper range network
                                            segment, in case the "vnSegmentIds" is
                                            used to define a range.
                                          type: string
                            siteToWanLayer3ProtocolData:
                              description: >
                                This type provides information about Layer 3
                                protocol specific information for the stitching
                                of the intra-site VN to the multi-site
                                connectivity service over the WAN. It shall
                                comply with the provisions defined in Table
                                6.5.3.86-1.
                              type: object
                              required:
                                - routingInfo
                              properties:
                                logicalInterfaceIpAddress:
                                  description: >
                                    IP addressing information associated to a
                                    logical interface. Shall be present if the
                                    "interfaceType" of the
                                    SiteToWanLayer2ProtocolData is equal to
                                    "LOGICAL".
                                  type: object
                                  required:
                                    - ipAddress
                                    - associatedSegmentId
                                  properties:
                                    ipAddress:
                                      description: >
                                        An IPV4 or IPV6 address. Representation:
                                        In case of an IPV4 address, string that
                                        consists of four decimal integers
                                        separated by dots, each integer ranging
                                        from 0 to 255. In case of an IPV6
                                        address, string that consists of groups
                                        of zero to four hexadecimal digits,
                                        separated by colons.
                                      type: string
                                      format: IP
                                    associatedSegmentId:
                                      description: >
                                        The associated segment identifier that
                                        has triggered the creation of the
                                        logical interface. The value shall be
                                        one of the values listed in the
                                        "wanSegmentIds" of the
                                        "siteToWanLayer2ProtocolData".
                                      type: string
                                routingInfo:
                                  description: >
                                    The routing information that is activated on
                                    the connectivity service endpoint. More than
                                    one "routingInfo" is allowed to enable
                                    stacking different routing protocols (e.g.,
                                    one routing protocol for IPv4 and another
                                    one for IPv6).
                                  type: object
                                  required:
                                    - routingProtocol
                                    - routingAddressFamily
                                  properties:
                                    routingProtocol:
                                      description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                      type: string
                                      enum:
                                        - BGP
                                        - RIP
                                        - OSPF
                                        - STATIC
                                        - DIRECT
                                        - VRRP
                                    staticRouting:
                                      description: >
                                        Defines a static route. It shall only be
                                        present if the routingProtocol="STATIC".
                                      type: object
                                      required:
                                        - ipVersion
                                        - ipPrefix
                                        - prefixSize
                                        - nextHop
                                      properties:
                                        ipVersion:
                                          description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                          type: string
                                          enum:
                                            - IPV4
                                            - IPV6
                                        ipPrefix:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        prefixSize:
                                          description: |
                                            The IP prefix size.
                                          type: number
                                        nextHop:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                    routingAddressFamily:
                                      description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                      type: string
                                      enum:
                                        - IPV4
                                        - IPv6
                                    ospfRouting:
                                      description: >
                                        Defines parameters for OSPF routing. It
                                        shall only be present if the
                                        routingProtocol="OSPF".
                                      type: object
                                      required:
                                        - areaId
                                      properties:
                                        areaId:
                                          description: >
                                            The routing area identifier, e.g., a
                                            number or an IP address.
                                          type: string
                                    bgpRouting:
                                      description: >
                                        Defines parameters for BGP routing. It
                                        shall only be present if the
                                        routingProtocol="BGP".
                                      type: object
                                      required:
                                        - bgpAs
                                      properties:
                                        bgpAs:
                                          description: >
                                            The Autonomous System (AS)
                                            identification applicable to the BGP
                                            routing info entry.
                                          type: object
                                        bgpNeighbour:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        bgpAdditionalParam:
                                          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
                                    routeMapsDistribution:
                                      description: >
                                        Maps of routes that are permitted or
                                        denied for redistribution.
                                      type: object
                                      required:
                                        - policy
                                        - sequence
                                        - matchAndSetRule
                                      properties:
                                        policy:
                                          description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                          type: string
                                          enum:
                                            - PERMIT
                                            - DENY
                                        sequence:
                                          description: >
                                            Sequence or index number assigned to the
                                            route-map.
                                          type: number
                                        matchAndSetRule:
                                          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
                                mtuL3:
                                  description: >
                                    Maximum Transmission Unit (MTU) that can be
                                    forwarded at layer 3 (in bytes). Default
                                    value is "1500" (bytes).
                                  type: number
                                virtualRoutingAndForwarding:
                                  description: >
                                    Configuration related to the virtual routing
                                    and forwarding (VRF).
                                  type: object
                                  required:
                                    - vrfName
                                  properties:
                                    vrfName:
                                      description: >
                                        Name (or identifier) of the VRF
                                        instance.
                                      type: string
                                bfdConfig:
                                  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
                      removeConnectivityServiceEndpoints:
                        description: >
                          List of identifier entries to be deleted from the
                          "connectivityServiceEndpointInfos" attribute array in
                          "WanConnectionProtocolInfo", to be used as
                          "deleteIdList" as defined below this table.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                updateTime:
                  description: >
                    Date-time stamp. Representation: String formatted according
                    toas defined by the date-time production in IETF RFC 3339.
                  format: date-time
                createSnapshotData:
                  description: >
                    This type represents the information that are needed for VNF
                    snapshot creation. When the NFVO invokes the Create VNF
                    snapshot operation, a set of these parameters are then
                    passed by the NFVO to the VNFM. It shall comply with the
                    provisions defined in Table 6.5.3.76-1.
                  type: object
                  required:
                    - vnfInstanceId
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    additionalParams:
                      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
                    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
                revertVnfToSnapshotData:
                  description: >
                    This type specifies the identifier of an existing VNF
                    instance of the NS instance to be reverted and the
                    identifier of an existing VNF Snapshot to be reverted to. It
                    shall comply with the provisions defined in Table
                    6.5.3.75-1.
                  type: object
                  required:
                    - vnfInstanceId
                    - vnfSnapshotInfoId
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfSnapshotInfoId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    additionalParams:
                      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
                deleteVnfSnapshotData:
                  description: >
                    This type specifies the identifier of information of an
                    available VNF Snapshot to be deleted and the identifier of
                    the related VNF instance of the NS instance. It shall comply
                    with the provisions defined in Table 6.5.3.74-1.
                  type: object
                  required:
                    - vnfInstanceId
                    - vnfSnapshotInfoId
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfSnapshotInfoId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                addNsVirtualLinkData:
                  description: >
                    Specify data to be used to create a new NsVirtualLink
                    instance. This parameter shall be present only if updateType
                    = “CREATE_NS_VIRTUAL_LINK”.
                  type: array
                  items:
                    description: "This type specifies the parameters used for the creation of a new NsVirtualLink instance. It shall comply with the provisions defined in table 6.5.3.95-1. NOTE:\tAll NsVirtualLink instances of a particular NS DF based on a specific \"NsVirtualLinkDesc\" have the same characteristics as they use the same \"VirtualLinkProfile\".\n"
                    type: object
                    required:
                      - nsVirtualLinkProfileId
                    properties:
                      nsVirtualLinkProfileId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                deleteNsVirtualLinkId:
                  description: >
                    Identify an existing NsVirtualLink instance to be deleted.
                    The parameter shall be present only if updateType =
                    “DELETE_NS_VIRTUAL_LINK”.
                  type: array
                  items:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
        required: true
      responses:
        '202':
          description: >
            202 ACCEPTED


            accepted for processing, but the processing has not been completed.

            The response body shall be empty.

            The HTTP response shall include a "Location" HTTP header that
            contains the URI of the newly-created

            "Individual NS lifecycle operation occurrence" resource
            corresponding to the operation.
          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


            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a conflict

            with the state of the resource.

            Typically, this is due to the fact that the NS instance resource is
            in NOT_INSTANTIATED state, or that

            another lifecycle management operation is ongoing.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey

            more information about the error.
          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: >
                  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
  '/ns_instances/{nsInstanceId}/heal':
    parameters:
      - name: nsInstanceId
        in: path
        description: |
          Identifier of the NS instance.
        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:
      description: |
        The POST method requests to heal an NS instance. See clause 6.4.7.3.1.
      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: |
          Parameters for the heal NS operation, as defined in clause 6.5.2.13.
        content:
          application/json:
            schema:
              description: >
                This type represents request parameters for the "Heal NS"
                operation. This operation supports the healing of an NS
                instance, either by healing the complete NS instance or by
                healing one of more of the VNF instances that are part of this
                NS. It shall comply with the provisions defined in Table
                6.5.2.13-1. Either the parameter healNsData or the parameter
                healVnfData, but not both shall be provided.
              type: object
              oneOf:
                - required:
                    - healNsData
                - required:
                    - healVnfData
              properties:
                healNsData:
                  description: "This type represents the information used to heal a NS. It shall comply with the provisions defined in Table 6.5.3.43-1.\nNOTE:\tEither the actionsHealing or healScript attribute shall be present, not both attributes.\n"
                  type: object
                  required:
                    - degreeHealing
                  oneOf:
                    - required:
                        - actionsHealing
                    - required:
                        - healScript
                  properties:
                    degreeHealing:
                      description: >
                        Indicates the degree of healing. Possible values
                        include: - HEAL_RESTORE: Complete the healing of the NS
                        restoring the state of the NS before the failure
                        occurred - HEAL_QOS: Complete the healing of the NS
                        based on the newest QoS values - HEAL_RESET: Complete
                        the healing of the NS resetting to the original
                        instantiation state of the NS - PARTIAL_HEALING
                      type: string
                      enum:
                        - HEAL_RESTORE
                        - HEAL_QOS
                        - HEAL_RESET
                        - PARTIAL_HEALING
                    actionsHealing:
                      description: >
                        Used to specify dedicated healing actions in a
                        particular order (e.g. as a script). The actionsHealing
                        attribute can be used to provide a specific script whose
                        content and actions might only be possible to be derived
                        during runtime. See note.
                      type: array
                      items:
                        description: |
                          A string as defined in IETF RFC 8259.
                        type: string
                    healScript:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    additionalParamsforNs:
                      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
                healVnfData:
                  description: |
                    Provides the information needed to heal a VNF. See note.
                  type: array
                  items:
                    description: >
                      This type represents the information to heal a VNF that is
                      part of an NS.  The NFVO shall then invoke the Heal VNF
                      operation towards the appropriate VNFM. It shall comply
                      with the provisions defined in Table 6.5.3.44-1.
                    type: object
                    required:
                      - vnfInstanceId
                    properties:
                      vnfInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      cause:
                        description: >
                          Indicates the reason why a healing procedure is
                          required.
                        type: string
                      additionalParams:
                        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:
        '202':
          description: >
            202 ACCEPTED


            Shall be returned when the request has been accepted for processing,
            but the processing has not been completed.

            The response body shall be empty.

            The HTTP response shall include a "Location" HTTP header that
            contains the URI of the newly-created

            "Individual NS lifecycle operation occurrence" resource
            corresponding to the operation.
          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


            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a

            conflict with the state of the resource.

            Typically, this is due to the fact that the NS instance resource is
            in NOT_INSTANTIATED state, or that

            another lifecycle management operation is ongoing.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey more

            information about the error
          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: >
                  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
  '/ns_instances/{nsInstanceId}/terminate':
    parameters:
      - name: nsInstanceId
        in: path
        description: |
          Identifier of the NS instance.
        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:
      description: |
        The POST method terminates an NS instance. See clause 6.4.8.3.1.
      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: |
          The terminate NS request parameters, as defined in  clause 6.5.2.15.
        content:
          application/json:
            schema:
              description: "This type represents a NS termination request.  It shall comply with the provisions defined in Table 6.5.2.15-1.\nNOTE 1:\tInformation needed for terminating specific VNF instances shall only be specified in the \"terminateVnfData\" attribute, and not in the \"terminateNsData\" attribute. NOTE 2: \tVNF instance(s) part of this NS instance is(are) terminated as part of Terminate NS operation only if the instance(s) is(are) not used by any other NS instance.\n"
              type: object
              properties:
                terminationTime:
                  description: >
                    Date-time stamp. Representation: String formatted according
                    toas defined by the date-time production in IETF RFC 3339.
                  format: date-time
                terminateNsData:
                  type: object
                  properties:
                    additionalParamsforNs:
                      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
                terminateVnfData:
                  description: >
                    Provides the information to terminate VNF instance(s). See
                    note 1 and 2.
                  type: array
                  items:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according toas defined by the date-time production in IETF
                      RFC 3339.
                    format: date-time
        required: true
      responses:
        '202':
          description: >
            202 ACCEPTED


            Shall be returned when the request has been accepted for processing.

            The response body shall be empty.

            The HTTP response shall include a "Location" HTTP header that
            contains the URI of the newly-created

            "Individual NS lifecycle operation occurrence" resource
            corresponding to the operation.
          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


            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a conflict

            with the state of the resource.

            Typically, this is due to the fact that the NS instance resource is
            in NOT_INSTANTIATED state, or that another

            lifecycle management operation is ongoing.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey more

            information about the error.
          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: >
                  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
  /ns_lcm_op_occs:
    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:
      description: >
        The API consumer can use this method to query status information about
        multiple NS lifecycle management

        operation occurrences. See clause 6.4.9.3.2.
      parameters:
        - in: query
          name: filter
          description: >
            Attribute-based filtering expression according to clause 5.2 of ETSI
            GS NFV SOL 013. The NFVO shall support receiving this parameter as
            part of the URI query string.  The OSS/BSS may supply this
            parameter. All attribute names that appear in the NsLcmOpOcc and in
            data types referenced from  it shall be supported by the NFVO in the
            filter expression.
          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 NFVO 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 NFVO should support this
            parameter.
          in: query
          required: false
          schema:
            type: string
        - in: query
          name: exclude_default
          description: "Indicates to exclude the following complex attributes from the response.  See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the NsLcmOpOcc structure in the response  body if this parameter is provided: -\toperationParams -\tchangedVnfInfo -\terror -\tresourceChanges -\tlcmCoordinations - warnings\n"
          schema:
            type: string
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be
            supported by the NFVO if the NFVO 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 status information for zero or more NS
            lifecycle management operation occurrences has

            been queried successfully. The response body shall contain in an
            array the status information about zero or

            more NS lifecycle operation occurrences, as defined in clause
            6.5.2.3. 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 [16],
            respectively. If the NFVO supports alternative 2

            (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [16] 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 [16].
          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
            Link:
              description: >
                Reference to other resources. Used for paging in the present
                document, see clause 4.7.2.1.
              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 request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1:\tThis allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2:\tA coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3:\tThe list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED” and \"ROLLED_BACK\".\n"
                  type: object
                  required:
                    - id
                    - operationState
                    - statusEnteredTime
                    - nsInstanceId
                    - lcmOperationType
                    - startTime
                    - isAutomaticInvocation
                    - isCancelPending
                    - _links
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    operationState:
                      description: >
                        Value | Description ------|------------ PROCESSING | The
                        LCM operation is currently in execution. COMPLETED | The
                        LCM operation has been completed successfully.
                        PARTIALLY_COMPLETED | The LCM operation has been
                        partially completed with accepTable errors. FAILED_TEMP
                        | The LCM operation has failed and execution has
                        stopped, but the execution of the operation is not
                        considered to be closed. FAILED | The LCM operation has
                        failed and it cannot be retried or rolled back, as it is
                        determined that such action will not succeed.
                        OLLING_BACK | The LCM operation is currently being
                        rolled back. ROLLED_BACK | The LCM operation has been
                        successfully rolled back, i.e. The state of the NS prior
                        to the original operation invocation has been restored
                        as closely as possible.
                      type: string
                      enum:
                        - PROCESSING
                        - COMPLETED
                        - PARTIALLY_COMPLETED
                        - FAILED_TEMP
                        - FAILED
                        - ROLLING_BACK
                        - ROLLED_BACK
                    stateEnteredTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    nsInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    lcmOperationType:
                      description: >
                        The enumeration NsLcmOpType represents those lifecycle
                        operations that trigger a NS lifecycle management
                        operation occurrence notification. Value | Description
                        ------|------------ INSTANTIATE | Represents the
                        "Instantiate NS" LCM operation. SCALE | Represents the
                        "Scale NS" LCM operation. UPDATE | Represents the
                        "Update NS" LCM operation. TERMINATE | Represents the
                        "Terminate NS" LCM operation. HEAL | Represents the
                        "Heal NS" LCM operation.
                      type: string
                      enum:
                        - INSTANTIATE
                        - SCALE
                        - UPDATE
                        - TERMINATE
                        - HEAL
                    startTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    isAutomaticInvocation:
                      description: >
                        Set to true if this NS LCM operation occurrence has been
                        automatically triggered by the NFVO. This occurs in the
                        case of auto-scaling, auto-healing and when a nested NS
                        is modified as a result of an operation on its composite
                        NS. Set to false otherwise.
                      type: boolean
                    operationParams:
                      description: >
                        Input parameters of the LCM operation. This attribute
                        shall be formatted according to the request data type of
                        the related LCM operation. In addition, the provisions
                        in clause 6.7 shall apply. The following mapping between
                        lcmOperationType and the data type of this attribute
                        shall apply: - INSTANTIATE: InstantiateNsRequest -
                        SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL:
                        HealNsRequest - TERMINATE: TerminateNsRequest This
                        attribute shall be present if this data type is returned
                        in a response to reading an individual resource, and may
                        be present according to the chosen attribute selector
                        parameter if this data type is returned in a response to
                        a query of a container resource.
                      type: string
                      enum:
                        - INSTANTIATE
                        - SCALE
                        - UPDATE
                        - HEAL
                        - TERMINATE
                    isCancelPending:
                      description: >
                        If the LCM operation occurrence is in "PROCESSING" or
                        "ROLLING_BACK" state and the operation is being
                        cancelled, this attribute shall be set to true.
                        Otherwise, it shall be set to false.
                      type: boolean
                    cancelMode:
                      description: >
                        Cancellation mode.

                        The NFVO shall not start any new VNF lifecycle
                        management and resource management operation, and shall
                        wait for the ongoing VNF lifecycle management and
                        resource management operations in the underlying system,
                        typically the VNFM and VIM, to finish execution or to
                        time out. After that, the NFVO shall put the operation
                        occurrence into the FAILED_TEMP state.

                        The NFVO shall not start any new VNF lifecycle
                        management and resource management operation, shall
                        cancel the ongoing VNF lifecycle management and resource
                        management operations in the underlying system,
                        typically the VNFM and VIM, and shall wait for the
                        cancellation to finish or to time out. After that, the
                        NFVO shall put the operation occurrence into the
                        FAILED_TEMP state.
                      type: string
                      enum:
                        - GRACEFUL
                        - FORCEFUL
                    error:
                      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
                    resourceChanges:
                      description: >
                        This attribute contains information about the cumulative
                        changes to virtualised resources that were performed so
                        far by the LCM operation since its start, if applicable
                      type: object
                      properties:
                        affectedVnfs:
                          description: >
                            Information about the VNF instances that were
                            affected during the lifecycle operation, if this
                            notification represents the result of a lifecycle
                            operation. See note 1.
                          type: array
                          items:
                            description: "This type provides information about added, deleted and modified VNFs.\nNOTE:\tAt least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n"
                            type: object
                            required:
                              - vnfInstanceId
                              - vnfdId
                              - vnfProfileId
                              - vnfName
                              - changeType
                              - changeResult
                            anyOf:
                              - required:
                                  - changedExtConnectivity
                              - oneOf:
                                  - required:
                                      - changedVnfInfo
                                  - required:
                                      - modificationsTriggeredByVnfPkgChange
                            properties:
                              vnfInstanceId:
                                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
                              vnfProfileId:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                              vnfName:
                                description: |
                                  Name of the VNF Instance.
                                type: string
                              changeType:
                                description: "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY -\tCHANGE_VNFPKG\n"
                                type: string
                                enum:
                                  - ADD
                                  - REMOVE
                                  - INSTANTIATE
                                  - TERMINATE
                                  - SCALE
                                  - CHANGE_FLAVOUR
                                  - HEAL
                                  - OPERATE
                                  - MODIFY_INFORMATION
                                  - CHANGE_EXTERNAL_VNF_CONNECTIVITY
                                  - CHANGE_VNFPKG
                              changeResult:
                                description: >
                                  Signals the result of change identified by the
                                  "changeType" attribute. Permitted values: -
                                  COMPLETED - ROLLED_BACK - FAILED
                                type: string
                                enum:
                                  - COMPLETED
                                  - ROLLED_BACK
                                  - FAILED
                              changedInfo:
                                description: >
                                  Information about the changed VNF instance
                                  information, including VNF configurable
                                  properties,if applicable. When the
                                  "changedInfo" attribute is present,  either
                                  the "changedVnfInfo" attribute or the
                                  "changedExtConnectivity" attribute or both
                                  shall be present.
                                type: object
                                anyOf:
                                  - required:
                                      - changedVnfInfo
                                  - required:
                                      - changedVnfInfo
                                  - required:
                                      - modificationsTriggeredByVnfPkgChange
                                oneOf:
                                  - required:
                                      - changedVnfInfo
                                  - required:
                                      - modificationsTriggeredByVnfPkgChange
                                properties:
                                  changedVnfInfo:
                                    description: >
                                      This type represents the information that
                                      is requested to be modified for a VNF
                                      instance. The information to be modified
                                      shall comply with the associated NSD.
                                      EXAMPLE. The vnfPkgId attribute value for
                                      a particular VNF instance can only be
                                      updated with a value that matches the
                                      identifier value of a VNF package whose
                                      vnfdId is present in the associated
                                      profile of the NSD.
                                    type: object
                                    required:
                                      - vnfInstanceId
                                    properties:
                                      vnfInstanceId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      vnfInstanceName:
                                        description: >
                                          New value of the "vnfInstanceName"
                                          attribute in "VnfInstance", or "null" to
                                          remove the attribute.
                                        type: string
                                      vnfInstanceDescription:
                                        description: >
                                          New value of the
                                          "vnfInstanceDescription" attribute in
                                          "VnfInstance", or "null" to remove the
                                          attribute.
                                        type: string
                                      vnfdId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      vnfConfigurableProperties:
                                        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
                                      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
                                      extensions:
                                        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
                                  changedExtConnectivity:
                                    description: >
                                      Information about changed external
                                      connectivity, if applicable. Only
                                      information about external VL instances
                                      that have been added or modified shall be
                                      provided. See note.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        extLinkPorts:
                                          description: |
                                            Link ports of this VL.
                                          type: array
                                          items:
                                            description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                            type: object
                                            required:
                                              - id
                                              - resourceHandle
                                            properties:
                                              id:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceHandle:
                                                description: >
                                                  This type represents the information
                                                  that allows addressing a virtualised
                                                  resource that is used by a VNF instance
                                                  or by an NS instance. Information about
                                                  the resource is available from the VIM.
                                                  NOTE: The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle.
                                                type: object
                                                required:
                                                  - resourceId
                                                properties:
                                                  vimId:
                                                    description: >
                                                      An identifier with the intention of
                                                      being globally unique.
                                                    type: string
                                                  resourceProviderId:
                                                    description: >
                                                      An identifier with the intention of
                                                      being globally unique.
                                                    type: string
                                                  resourceId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                                  vimLevelResourceType:
                                                    description: >
                                                      Type of the resource in the scope of the
                                                      VIM, the WIM or the resource provider.
                                                      The value set of the
                                                      "vimLevelResourceType" attribute is
                                                      within the scope of the VIM, the WIM or
                                                      the resource provider and can be used as
                                                      information that complements the
                                                      ResourceHandle. See note.
                                                    type: string
                                              cpInstanceId:
                                                description: >
                                                  An identifier that is unique for the
                                                  respective type within a VNF instance,
                                                  but may not be globally unique.
                                                type: string
                                              secondaryCpInstanceId:
                                                description: >
                                                  An identifier that is unique for the
                                                  respective type within a VNF instance,
                                                  but may not be globally unique.
                                                type: string
                                              trunkResourceId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                        currentVnfExtCpData:
                                          description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                          type: object
                                          required:
                                            - cpdId
                                          properties:
                                            cpdId:
                                              description: >
                                                Identifier of the VNF Virtual Link
                                                Descriptor (VLD) in the VNFD.
                                              type: string
                                            cpConfig:
                                              description: >
                                                Map of instance data that need to be
                                                configured on the CP instances  created
                                                from the respective CPD. The key of the
                                                map which identifies  the individual
                                                VnfExtCpConfig entries is of type
                                                "IdentifierInVnf"  and is managed by the
                                                API consumer. The entries shall be
                                                applied by  the VNFM according to the
                                                rules of JSON Merge Patch (see IETF RFC
                                                7396 [11]).  See notes 2, 3 and 4.
                                              type: object
                                              additionalProperties:
                                                description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                                type: object
                                                anyOf:
                                                  - required:
                                                      - linkPortId
                                                  - required:
                                                      - cpProtocolData
                                                properties:
                                                  parentCpConfigId:
                                                    description: >
                                                      An identifier that is unique for the
                                                      respective type within a VNF instance,
                                                      but may not be globally unique.
                                                    type: string
                                                  linkPortId:
                                                    description: >
                                                      An identifier with the intention of
                                                      being globally unique.
                                                    type: string
                                                  createExtLinkPort:
                                                    description: >
                                                      Indicates the need to create a dedicated
                                                      link port for the external CP. If set to
                                                      True, a link port is created. If set to
                                                      False, no link port is created. This
                                                      attribute is only applicable for
                                                      external CP instances without a floating
                                                      IP address that expose a VIP CP instance
                                                      for which a dedicated IP address is
                                                      allocated. It shall be present in that
                                                      case and shall be absent otherwise.
                                                    type: boolean
                                                  cpProtocolData:
                                                    description: >
                                                      Parameters for configuring the network
                                                      protocols on the link port that connects
                                                      the CP to a VL. See note 1.
                                                    type: array
                                                    items:
                                                      description: >
                                                        This type represents network protocol
                                                        data.
                                                      type: object
                                                      required:
                                                        - layerProtocol
                                                      properties:
                                                        layerProtocol:
                                                          description: >
                                                            Identifier of layer(s) and protocol(s).
                                                            Permitted values: IP_OVER_ETHERNET.
                                                          type: string
                                                          enum:
                                                            - IP_OVER_ETHERNET
                                                        ipOverEthernet:
                                                          description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                          type: object
                                                          anyOf:
                                                            - required:
                                                                - ipAddresses
                                                            - required:
                                                                - macAddress
                                                          properties:
                                                            macAddress:
                                                              description: >
                                                                A MAC address. Representation: string
                                                                that consists of groups of two
                                                                hexadecimal digits, separated by hyphens
                                                                or colons.
                                                              type: string
                                                              format: MAC
                                                            segmentationType:
                                                              description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                              type: string
                                                              enum:
                                                                - VLAN
                                                                - INHERIT
                                                            segmentationId:
                                                              description: >
                                                                Identification of the network segment to
                                                                which the CP instance connects to. See
                                                                note 3 and note 4.
                                                              type: string
                                                            ipAddresses:
                                                              description: >
                                                                List of IP addresses to assign to the CP
                                                                instance. Each entry represents IP
                                                                address data for fixed or dynamic IP
                                                                address assignment per subnet. If this
                                                                attribute is not present, no IP address
                                                                shall be assigned. See note 1.
                                                              type: array
                                                              items:
                                                                type: object
                                                                required:
                                                                  - type
                                                                oneOf:
                                                                  - required:
                                                                      - fixedAddresses
                                                                  - required:
                                                                      - numDynamicAddresses
                                                                  - required:
                                                                      - addressRange
                                                                properties:
                                                                  type:
                                                                    description: >
                                                                      The type of the IP addresses. Permitted
                                                                      values:
                                                                        - IPV4
                                                                        - IPV6
                                                                    type: string
                                                                    enum:
                                                                      - IPV4
                                                                      - IPV6
                                                                  fixedAddresses:
                                                                    description: >
                                                                      Fixed addresses to assign (from the
                                                                      subnet defined by "subnetId" if
                                                                      provided). Exactly one of
                                                                      "fixedAddresses", "numDynamicAddresses"
                                                                      or "ipAddressRange" shall be present.
                                                                    type: array
                                                                    items:
                                                                      description: >
                                                                        An IPV4 or IPV6 address. Representation:
                                                                        In case of an IPV4 address, string that
                                                                        consists of four decimal integers
                                                                        separated by dots, each integer ranging
                                                                        from 0 to 255. In case of an IPV6
                                                                        address, string that consists of groups
                                                                        of zero to four hexadecimal digits,
                                                                        separated by colons.
                                                                      type: string
                                                                      format: IP
                                                                  numDynamicAddresses:
                                                                    description: >
                                                                      Number of dynamic addresses to assign
                                                                      (from the subnet defined by "subnetId"
                                                                      if provided). See note 2.
                                                                    type: integer
                                                                  addressRange:
                                                                    description: >
                                                                      An IP address range to be used, e.g. in
                                                                      case of egress connections. In case this
                                                                      attribute is present, IP addresses from
                                                                      the range will be used.
                                                                    type: object
                                                                    required:
                                                                      - minAddress
                                                                      - maxAddress
                                                                    properties:
                                                                      minAddress:
                                                                        description: >
                                                                          An IPV4 or IPV6 address. Representation:
                                                                          In case of an IPV4 address, string that
                                                                          consists of four decimal integers
                                                                          separated by dots, each integer ranging
                                                                          from 0 to 255. In case of an IPV6
                                                                          address, string that consists of groups
                                                                          of zero to four hexadecimal digits,
                                                                          separated by colons.
                                                                        type: string
                                                                        format: IP
                                                                      maxAddress:
                                                                        description: >
                                                                          An IPV4 or IPV6 address. Representation:
                                                                          In case of an IPV4 address, string that
                                                                          consists of four decimal integers
                                                                          separated by dots, each integer ranging
                                                                          from 0 to 255. In case of an IPV6
                                                                          address, string that consists of groups
                                                                          of zero to four hexadecimal digits,
                                                                          separated by colons.
                                                                        type: string
                                                                        format: IP
                                                                  subnetId:
                                                                    description: >
                                                                      An identifier maintained by the VIM or
                                                                      other resource provider. It is expected
                                                                      to be unique within the VIM instance.
                                                                      Representation: string of variable
                                                                      length.
                                                                    type: string
                                  modificationsTriggeredByVnfPkgChange:
                                    description: >
                                      This type represents attribute
                                      modifications that were performed by the
                                      VNFM on an "Individual VNF instance" 
                                      resource when changing the current VNF
                                      package. The
                                      "ModificationsTriggeredByVnfPkgChange"
                                      data type shall comply with the provisions
                                      defined in table 6.5.3.79-1.
                                    type: object
                                    properties:
                                      vnfConfigurableProperties:
                                        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
                                      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
                                      extensions:
                                        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
                                      vnfdId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      vnfProvider:
                                        description: >
                                          If present, this attribute signals the
                                          new value of the "vnfProvider" attribute
                                          in "VnfInstance". If present, this
                                          attribute (which depends on the value of
                                          the "vnfdId" attribute) was modified
                                          implicitly during the related operation,
                                          and contains a copy of the value of the
                                          related attribute from the VNFD in the
                                          VNF Package identified by the "vnfdId"
                                          attribute.
                                        type: string
                                      vnfProductName:
                                        description: >
                                          If present, this attribute signals the
                                          new value of the "vnfProductName"
                                          attribute in "VnfInstance". If present,
                                          this attribute (which depends on the
                                          value of the "vnfdId" attribute) was
                                          modified implicitly during the related
                                          operation, and contains a copy of the
                                          value of the related attribute from the
                                          VNFD in the VNF Package identified by
                                          the "vnfdId" attribute.
                                        type: string
                                      vnfSoftwareVersion:
                                        description: >
                                          A Version. Representation: string of
                                          variable length.
                                        type: string
                                      vnfdVersion:
                                        description: >
                                          A Version. Representation: string of
                                          variable length.
                                        type: string
                        affectedPnfs:
                          description: >
                            Information about the PNF instances that were
                            affected during the lifecycle operation, if this
                            notification represents the result of a lifecycle
                            operation. See note 1.
                          type: array
                          items:
                            description: >
                              This type provides information about added,
                              deleted and modified PNFs.  It shall comply with
                              the provisions in Table 6.5.3.3-1.
                            type: object
                            required:
                              - pnfId
                              - pnfdId
                              - pnfProfileId
                              - cpInstanceId
                            properties:
                              pnfId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              pnfdId:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                              pnfProfileId:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                              pnfName:
                                description: |
                                  Name of the PNF.
                                type: string
                              cpInstanceId:
                                description: |
                                  Identifier of the CP in the scope of the PNF.
                                type: array
                                items:
                                  description: >
                                    An Identifier that is unique within respect
                                    to a PNF. Representation: string of variable
                                    length.
                                  type: string
                              changeType:
                                description: >
                                  Signals the type of change. Permitted values:
                                  - ADD - REMOVE - MODIFY
                                type: string
                                enum:
                                  - ADD
                                  - REMOVE
                                  - MODIFY
                              changeResult:
                                description: >
                                  Signals the result of change identified by the
                                  "changeType" attribute. Permitted values: -
                                  COMPLETED - ROLLED_BACK - FAILED
                                type: string
                                enum:
                                  - COMPLETED
                                  - ROLLED_BACK
                                  - FAILED
                        affectedVls:
                          description: >
                            Information about the VL instances that were
                            affected during the lifecycle operation, if this
                            notification represents the result of a lifecycle
                            operation. See note 1.
                          type: array
                          items:
                            description: "This type provides information about added, deleted, modified and temporary VLs. NOTE:\tThe resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n"
                            type: object
                            required:
                              - nsVirtualLinkInstanceId
                              - nsVirtualLinkDescId
                              - vlProfileId
                              - changeType
                              - changeResult
                            properties:
                              nsVirtualLinkInstanceId:
                                description: >
                                  An identifier that is unique with respect to a
                                  NS. Representation: string of variable length.
                                type: string
                              nsVirtualLinkDescId:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                              vlProfileId:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                              changeType:
                                description: >
                                  Signals the type of change. Permitted values:
                                  * ADD * DELETE * MODIFY * ADD_LINK_PORT *
                                  REMOVE_LINK_PORT
                                type: string
                                enum:
                                  - ADD
                                  - DELETE
                                  - MODIFY
                                  - ADD_LINK_PORT
                                  - REMOVE_LINK_PORT
                              linkPortIds:
                                description: >
                                  Identifiers of the link ports of the affected
                                  VL related to the change. Each identifier
                                  references an "NsLinkPortInfo" structure.

                                  Shall be set when changeType is equal to
                                  "ADD_LINK_PORT" or "REMOVE_LINK_PORT", and the
                                  related "NsLinkPortInfo" structures are
                                  present (case "add") or have been present
                                  (case "remove") in the "NsVirtualLinkInfo"
                                  structure that is represented by the
                                  "virtualLink¬Info" attribute in the
                                  "NsInstance" structure. See note.
                                type: array
                                items:
                                  description: >
                                    An identifier that is unique with respect to
                                    a NS. Representation: string of variable
                                    length.
                                  type: string
                              changeResult:
                                description: >
                                  Signals the result of change identified by the
                                  "changeType" attribute. Permitted values: *
                                  COMPLETED * ROLLED_BACK * FAILED
                                type: string
                                enum:
                                  - COMPLETED
                                  - ROLLED_BACK
                                  - FAILED
                        affectedVnffgs:
                          description: >
                            Information about the VNFFG instances that were
                            affected during the lifecycle operation, if this
                            notification represents the result of a lifecycle
                            operation. See note 1.
                          type: array
                          items:
                            description: >
                              This type provides information about added,
                              deleted and modified VNFFG instances. It shall
                              comply with the provisions in Table 6.5.3.5-1.
                            type: object
                            required:
                              - vnffgInstanceId
                              - vnffgdId
                            properties:
                              vnffgInstanceId:
                                description: >
                                  An identifier that is unique with respect to a
                                  NS. Representation: string of variable length.
                                type: string
                              vnffgdId:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                              changeType:
                                description: >
                                  Signals the type of change. Permitted values:
                                  - ADD - DELETE - MODIFY
                                type: string
                                enum:
                                  - ADD
                                  - DELETE
                                  - MODIFY
                              changeResult:
                                description: >
                                  Signals the result of change identified by the
                                  "changeType" attribute. Permitted values: -
                                  COMPLETED - ROLLED_BACK - FAILED
                                type: string
                                enum:
                                  - COMPLETED
                                  - ROLLED_BACK
                                  - FAILED
                        affectedNss:
                          description: >
                            Information about the nested NS instances that were
                            affected during the lifecycle operation, if this
                            notification represents the result of a lifecycle
                            operation. See note 1.
                          type: array
                          items:
                            description: >
                              This type provides information about added,
                              deleted and modified nested NSs. It shall comply
                              with the provisions in Table 6.5.3.6-1.
                            type: object
                            required:
                              - nsInstanceId
                              - nsdId
                              - changeType
                              - changeResult
                            properties:
                              nsInstanceId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              nsdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              changeType:
                                description: >
                                  Signals the type of lifecycle change.
                                  Permitted values: - ADD - REMOVE - INSTANTIATE
                                  - SCALE - UPDATE - HEAL - TERMINATE
                                type: string
                                enum:
                                  - ADD
                                  - REMOVE
                                  - INSTANTIATE
                                  - SCALE
                                  - UPDATE
                                  - HEAL
                                  - TERMINATE
                              changeResult:
                                description: >
                                  Signals the result of change identified by the
                                  "changeType" attribute. Permitted values: -
                                  COMPLETED - ROLLED_BACK - FAILED -
                                  PARTIALLY_COMPLETED
                                type: string
                                enum:
                                  - COMPLETED
                                  - ROLLED_BACK
                                  - FAILED
                                  - PARTIALLY_COMPLETED
                              changedInfo:
                                description: >
                                  Information about the changed NS instance
                                  information, if applicable.
                                type: object
                                properties:
                                  wanConnectionInfoModifications:
                                    description: >
                                      Information about the modified WAN related
                                      connectivity information, if applicable.
                                    type: array
                                    items:
                                      description: >
                                        This type represents attribute
                                        modifications that were performed on WAN
                                        connection information. The attributes
                                        that can be included consist of those
                                        requested to be modified explicitly with
                                        the "UpdateNsRequest" data structure. It
                                        shall comply with the provisions defined
                                        in table 6.5.3.93-1.
                                      type: object
                                      required:
                                        - wanConnectionInfoId
                                      properties:
                                        wanConnectionInfoId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        mscsName:
                                          description: >
                                            If present, this attribute signals
                                            modifications of the "mscsName"
                                            attribute in "MscsInfo" as defined in
                                            clause 6.5.3.82.
                                          type: string
                                        mscsDescription:
                                          description: >
                                            If present, this attribute signals
                                            modifications of the "mscsDescription"
                                            attribute in "MscsInfo" as defined in
                                            clause 6.5.3.82.
                                          type: string
                                        mscsEndpoints:
                                          description: >
                                            If present, this attribute signals
                                            modifications of certain entries in the
                                            "mscsEndpoints" attribute array in
                                            "MscsInfo", as defined in clause
                                            6.5.3.82.
                                          type: array
                                          items:
                                            description: >
                                              This type provides encapsulates
                                              information about an MSCS endpoint of
                                              the MSCS. It shall comply with the
                                              provisions defined in table 6.5.3.83-1.
                                            type: object
                                            required:
                                              - mscsEndpointId
                                              - directionality
                                              - connectivityServiceEndpoinId
                                            properties:
                                              mscsEndpointId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              directionality:
                                                description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                                type: string
                                                enum:
                                                  - INBOUND
                                                  - OUTBOUND
                                                  - BOTH
                                              connectivityServiceEndpoinId:
                                                description: >
                                                  References the connectivity service
                                                  endpoint configuration information
                                                  applicable to support the MSCS endpoint.
                                                  More than one connectivity service
                                                  endpoint can be referred when endpoints
                                                  are in LAG mode.
                                                type: array
                                                items:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                        removeMscsEndpointIds:
                                          description: >
                                            If present, this attribute signals the
                                            deletion of certain entries in the
                                            "mscsEndpoints" attribute array in
                                            "MscsInfo", as defined in clause
                                            6.5.3.82.
                                          type: array
                                          items:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                        connectivityServiceEndpoints:
                                          description: >
                                            If present, this attribute signals
                                            modifications of certain entries in the
                                            "connectivityServiceEndpoints" attribute
                                            array in "WanConnectionProtocolInfo", as
                                            defined in clause 6.5.3.91.
                                          type: array
                                          items:
                                            description: >
                                              This type provides configuration data
                                              for the NFVI-PoP network gateway
                                              providing connectivity service
                                              endpoints. The connectivity service
                                              endpoints are used as endpoints by an
                                              MSCS. It shall comply with the
                                              provisions defined in Table 6.5.3.84-1.
                                            type: object
                                            required:
                                              - connectivityServiceEndpointId
                                              - vimId
                                            properties:
                                              connectivityServiceEndpointId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              vimId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              siteToWanLayer2ProtocolData:
                                                description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                                type: object
                                                required:
                                                  - layer2ConnectionInfo
                                                properties:
                                                  layer2ConnectionInfo:
                                                    description: >
                                                      Layer 2 protocol parameters of the
                                                      connectivity service endpoint (CSE).
                                                    type: object
                                                    required:
                                                      - connectionType
                                                      - interfaceType
                                                      - interfaceTagging
                                                      - encapsulationType
                                                    properties:
                                                      connectionType:
                                                        description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                                        type: string
                                                        enum:
                                                          - CSE
                                                          - AGGREGATE_CSE
                                                      interfaceType:
                                                        description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                                        type: string
                                                        enum:
                                                          - PARENT
                                                          - LOGICAL
                                                      interfaceTagging:
                                                        description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                                        type: string
                                                        enum:
                                                          - UNTAGGED
                                                          - TAGGED
                                                      encapsulationType:
                                                        description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                                        type: string
                                                        enum:
                                                          - ETH
                                                          - VLAN
                                                          - VXLAN
                                                      vlanTaggingType:
                                                        description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                                        type: string
                                                        enum:
                                                          - DOT1Q
                                                          - QINQ
                                                          - QINANY
                                                      wanSegmentIds:
                                                        description: >
                                                          Segment identifiers to pass on the
                                                          tagged interface. Shall be present if
                                                          encapsulationType="VLAN" or “VXLAN".
                                                        type: object
                                                        required:
                                                          - wanSegmentIdValue
                                                        properties:
                                                          wanSegmentIdValue:
                                                            description: >
                                                              Identifier of the network segment (e.g.,
                                                              VLAN id or VNI).
                                                            type: string
                                                          wanSegmentIdUpperRange:
                                                            description: >
                                                              Identifier of the upper range network
                                                              segment, in case the "wanSegmentIds" is
                                                              used to define a range.
                                                            type: string
                                                      vxlanConfig:
                                                        description: >
                                                          Additional configuration needed when
                                                          using VXLAN encapsulation. Shall be
                                                          present if interfaceTagging="TAGGED" and
                                                          encapsulationType="VXLAN".
                                                        type: object
                                                        required:
                                                          - peerMode
                                                        properties:
                                                          peerMode:
                                                            description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                                            type: string
                                                            enum:
                                                              - STATIC
                                                              - BGP_EVPN
                                                          peers:
                                                            description: >
                                                              List of IP addresses of VTEP peers when
                                                              using static mode.
                                                            type: array
                                                            items:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                      lagInterfaceData:
                                                        description: >
                                                          Information for setting up a LAG
                                                          interface aggregating multiple
                                                          connectivity service endpoints.
                                                        type: object
                                                        required:
                                                          - aggregatedEndpoints
                                                          - lacpActivation
                                                          - lacpConfig
                                                        properties:
                                                          aggregatedEndpoints:
                                                            description: >
                                                              List of the connectivity service
                                                              endpoints that are to be aggregated.
                                                              Shall be present if
                                                              connectionType="AGGREGATE_CSE". In case
                                                              of aggregating connectivity service
                                                              endpoints, only one
                                                              SiteToWanLayer2ProtocolData shall be
                                                              provided for the whole set of aggregated
                                                              endpoints.
                                                            type: array
                                                            items:
                                                              description: >
                                                                An identifier with the intention of
                                                                being globally unique.
                                                              type: string
                                                          lacpActivation:
                                                            description: >
                                                              Indicates whether to activate LACP on
                                                              the interface. If "TRUE", the LACP is to
                                                              be activated, or "FALSE" otherwise.
                                                              Default value is "FALSE".
                                                            type: boolean
                                                          lacpConfig:
                                                            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
                                                      layer2ControlProtocol:
                                                        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
                                                  mtuL2:
                                                    description: >
                                                      Maximum Transmission Unit (MTU) that can
                                                      be forwarded at layer 2 (in bytes).
                                                      Default value is "1500" (bytes).
                                                    type: number
                                                  virtualRoutingAndForwarding:
                                                    description: >
                                                      Configuration related to the L2 virtual
                                                      routing and forwarding (MAC-VRF).
                                                    type: object
                                                    required:
                                                      - macVrfName
                                                    properties:
                                                      macVrfName:
                                                        description: >
                                                          Name (or identifier) of the MAC-VRF
                                                          instance.
                                                        type: string
                                                  forwardingConfig:
                                                    description: >
                                                      Information related to the forwarding of
                                                      the VN in the NFVI-PoP to the
                                                      connectivity service endpoint, if
                                                      information about the VN to "stitch" is
                                                      already known. . by the OSS/BSS. Shall
                                                      not be provided otherwise, in which case
                                                      the NFVO will infer the forwarding
                                                      configuration based on the NS VL, or
                                                      external VL, or externally-managed VL
                                                      provisioning.
                                                    type: object
                                                    oneOf:
                                                      - required:
                                                          - networkResources
                                                      - required:
                                                          - vnSegmentIds
                                                    properties:
                                                      networkResources:
                                                        description: >
                                                          Reference to the VN resource to be
                                                          forwarded into/from the MSCS. See note.
                                                        type: array
                                                        items:
                                                          description: >
                                                            This type represents the information
                                                            that allows addressing a virtualised
                                                            resource that is used by a VNF instance
                                                            or by an NS instance. Information about
                                                            the resource is available from the VIM.
                                                            NOTE: The value set of the
                                                            "vimLevelResourceType" attribute is
                                                            within the scope of the VIM, the WIM or
                                                            the resource provider and can be used as
                                                            information that complements the
                                                            ResourceHandle.
                                                          type: object
                                                          required:
                                                            - resourceId
                                                          properties:
                                                            vimId:
                                                              description: >
                                                                An identifier with the intention of
                                                                being globally unique.
                                                              type: string
                                                            resourceProviderId:
                                                              description: >
                                                                An identifier with the intention of
                                                                being globally unique.
                                                              type: string
                                                            resourceId:
                                                              description: >
                                                                An identifier maintained by the VIM or
                                                                other resource provider. It is expected
                                                                to be unique within the VIM instance.
                                                                Representation: string of variable
                                                                length.
                                                              type: string
                                                            vimLevelResourceType:
                                                              description: >
                                                                Type of the resource in the scope of the
                                                                VIM, the WIM or the resource provider.
                                                                The value set of the
                                                                "vimLevelResourceType" attribute is
                                                                within the scope of the VIM, the WIM or
                                                                the resource provider and can be used as
                                                                information that complements the
                                                                ResourceHandle. See note.
                                                              type: string
                                                      vnSegmentIds:
                                                        description: >
                                                          Identifiers of the network segments of
                                                          the VN resources to be forwarded
                                                          into/from the MSCS.
                                                        type: object
                                                        required:
                                                          - vnSegmentIdValue
                                                        properties:
                                                          vnSegmentIdValue:
                                                            description: |
                                                              Identifier of the network segment.
                                                            type: string
                                                          vnSegmentIdUpperRange:
                                                            description: >
                                                              Identifier of the upper range network
                                                              segment, in case the "vnSegmentIds" is
                                                              used to define a range.
                                                            type: string
                                              siteToWanLayer3ProtocolData:
                                                description: >
                                                  This type provides information about
                                                  Layer 3 protocol specific information
                                                  for the stitching of the intra-site VN
                                                  to the multi-site connectivity service
                                                  over the WAN. It shall comply with the
                                                  provisions defined in Table 6.5.3.86-1.
                                                type: object
                                                required:
                                                  - routingInfo
                                                properties:
                                                  logicalInterfaceIpAddress:
                                                    description: >
                                                      IP addressing information associated to
                                                      a logical interface. Shall be present if
                                                      the "interfaceType" of the
                                                      SiteToWanLayer2ProtocolData is equal to
                                                      "LOGICAL".
                                                    type: object
                                                    required:
                                                      - ipAddress
                                                      - associatedSegmentId
                                                    properties:
                                                      ipAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      associatedSegmentId:
                                                        description: >
                                                          The associated segment identifier that
                                                          has triggered the creation of the
                                                          logical interface. The value shall be
                                                          one of the values listed in the
                                                          "wanSegmentIds" of the
                                                          "siteToWanLayer2ProtocolData".
                                                        type: string
                                                  routingInfo:
                                                    description: >
                                                      The routing information that is
                                                      activated on the connectivity service
                                                      endpoint. More than one "routingInfo" is
                                                      allowed to enable stacking different
                                                      routing protocols (e.g., one routing
                                                      protocol for IPv4 and another one for
                                                      IPv6).
                                                    type: object
                                                    required:
                                                      - routingProtocol
                                                      - routingAddressFamily
                                                    properties:
                                                      routingProtocol:
                                                        description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                                        type: string
                                                        enum:
                                                          - BGP
                                                          - RIP
                                                          - OSPF
                                                          - STATIC
                                                          - DIRECT
                                                          - VRRP
                                                      staticRouting:
                                                        description: >
                                                          Defines a static route. It shall only be
                                                          present if the routingProtocol="STATIC".
                                                        type: object
                                                        required:
                                                          - ipVersion
                                                          - ipPrefix
                                                          - prefixSize
                                                          - nextHop
                                                        properties:
                                                          ipVersion:
                                                            description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                                            type: string
                                                            enum:
                                                              - IPV4
                                                              - IPV6
                                                          ipPrefix:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          prefixSize:
                                                            description: |
                                                              The IP prefix size.
                                                            type: number
                                                          nextHop:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                      routingAddressFamily:
                                                        description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPv6
                                                      ospfRouting:
                                                        description: >
                                                          Defines parameters for OSPF routing. It
                                                          shall only be present if the
                                                          routingProtocol="OSPF".
                                                        type: object
                                                        required:
                                                          - areaId
                                                        properties:
                                                          areaId:
                                                            description: >
                                                              The routing area identifier, e.g., a
                                                              number or an IP address.
                                                            type: string
                                                      bgpRouting:
                                                        description: >
                                                          Defines parameters for BGP routing. It
                                                          shall only be present if the
                                                          routingProtocol="BGP".
                                                        type: object
                                                        required:
                                                          - bgpAs
                                                        properties:
                                                          bgpAs:
                                                            description: >
                                                              The Autonomous System (AS)
                                                              identification applicable to the BGP
                                                              routing info entry.
                                                            type: object
                                                          bgpNeighbour:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          bgpAdditionalParam:
                                                            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
                                                      routeMapsDistribution:
                                                        description: >
                                                          Maps of routes that are permitted or
                                                          denied for redistribution.
                                                        type: object
                                                        required:
                                                          - policy
                                                          - sequence
                                                          - matchAndSetRule
                                                        properties:
                                                          policy:
                                                            description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                                            type: string
                                                            enum:
                                                              - PERMIT
                                                              - DENY
                                                          sequence:
                                                            description: >
                                                              Sequence or index number assigned to the
                                                              route-map.
                                                            type: number
                                                          matchAndSetRule:
                                                            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
                                                  mtuL3:
                                                    description: >
                                                      Maximum Transmission Unit (MTU) that can
                                                      be forwarded at layer 3 (in bytes).
                                                      Default value is "1500" (bytes).
                                                    type: number
                                                  virtualRoutingAndForwarding:
                                                    description: >
                                                      Configuration related to the virtual
                                                      routing and forwarding (VRF).
                                                    type: object
                                                    required:
                                                      - vrfName
                                                    properties:
                                                      vrfName:
                                                        description: >
                                                          Name (or identifier) of the VRF
                                                          instance.
                                                        type: string
                                                  bfdConfig:
                                                    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
                                        removeConnectivityServiceEndpoints:
                                          description: >
                                            If present, this attribute signals the
                                            deletion of certain entries in the
                                            "connectivityServiceEndpoints" attribute
                                            array in "WanConnectionProtocolInfo", as
                                            defined in clause 6.5.3.91.
                                          type: array
                                          items:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                        affectedSaps:
                          description: >
                            Information about the nested NS instances that were
                            affected during the lifecycle operation, if this
                            notification represents the result of a lifecycle
                            operation. See note 1.
                          type: array
                          items:
                            description: >
                              This type provides information about added,
                              deleted and modified SAP of a NS. It shall comply
                              with the provisions in Table 6.5.3.7-1.
                            type: object
                            required:
                              - sapInstanceId
                              - sapdId
                            properties:
                              sapInstanceId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              sapdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              sapName:
                                description: |
                                  Human readable name for the SAP.
                                type: string
                              changeType:
                                description: >
                                  Signals the type of lifecycle change.
                                  Permitted values: - ADD - REMOVE - MODIFY
                                type: string
                                enum:
                                  - ADD
                                  - REMOVE
                                  - MODIFY
                              changeResult:
                                description: >
                                  Signals the result of change identified by the
                                  "changeType" attribute. Permitted values: -
                                  COMPLETED - ROLLED_BACK - FAILED
                                type: string
                                enum:
                                  - COMPLETED
                                  - ROLLED_BACK
                                  - FAILED
                    lcmCoordinations:
                      description: >
                        Information about LCM coordination actions (see clause
                        12) related to this LCM operation occurrence.
                      type: array
                      items:
                        type: object
                        required:
                          - id
                          - coordinationActionName
                          - startTime
                          - endpointType
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          coordinationActionName:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          coordinationResult:
                            description: >
                              The enumeration LcmCoordResultType defines the
                              permitted values to represent the result 

                              of executing an LCM coordination action. The
                              coordination result also implies the action 

                              to be performed by the NFVO as the follow-up to
                              this coordination. The LcmCoordResultType 

                              shall comply with the provisions defined in table
                              12.5.4.3.-1.


                              - CONTINUE: The related LCM operation shall be
                              continued, staying in the state "PROCESSING".

                              - ABORT: The related LCM operation shall be
                              aborted by transitioning into the state
                              "FAILED_TEMP".

                              - CANCELLED: The coordination action has been
                              cancelled upon request of the API consumer, 
                                           i.e. the NFVO. The related LCM operation shall be aborted by transitioning into 
                                           the state "FAILED_TEMP".
                            type: string
                            enum:
                              - CONTINUE
                              - ABORT
                              - CACELLED
                          startTime:
                            description: >
                              Date-time stamp. Representation: String formatted
                              according toas defined by the date-time production
                              in IETF RFC 3339.
                            format: date-time
                          endTime:
                            description: >
                              Date-time stamp. Representation: String formatted
                              according toas defined by the date-time production
                              in IETF RFC 3339.
                            format: date-time
                          endpointType:
                            description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                            type: string
                            enum:
                              - MGMT
                          delay:
                            description: >
                              Date-time stamp. Representation: String formatted
                              according toas defined by the date-time production
                              in IETF RFC 3339.
                            format: date-time
                    rejectedLcmCoordinations:
                      description: >
                        Information about LCM coordination actions (see clause
                        12) that were rejected by 503 error which means they can
                        be tried again after a delay. See note 3.
                      type: array
                      items:
                        type: object
                        required:
                          - coordinationActionName
                          - rejectionTime
                          - endpointType
                          - delay
                        properties:
                          coordinationActionName:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          rejectionTime:
                            description: >
                              Date-time stamp. Representation: String formatted
                              according toas defined by the date-time production
                              in IETF RFC 3339.
                            format: date-time
                          endpointType:
                            description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                            type: string
                            enum:
                              - MGMT
                          delay:
                            description: >
                              Date-time stamp. Representation: String formatted
                              according toas defined by the date-time production
                              in IETF RFC 3339.
                            format: date-time
                    warnings:
                      description: >
                        Warning messages that were generated while the operation
                        was executing.

                        If the operation has included VNF LCM operations or NS
                        LCM coordination actions and these have resulted in
                        warnings, such warnings should be added to this
                        attribute.
                      type: array
                      items:
                        type: string
                    _links:
                      description: |
                        Links to resources related to this resource.
                      type: object
                      required:
                        - self
                        - nsInstance
                      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
                        nsInstance:
                          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
                        cancel:
                          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
                        retry:
                          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
                        rollback:
                          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
                        continue:
                          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
                        fail:
                          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
  '/ns_lcm_op_occs/{nsLcmOpOccId}':
    parameters:
      - name: nsLcmOpOccId
        in: path
        description: |
          Identifier of a NS lifecycle management operation occurrence.
        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 API consumer can use this method to retrieve status information
        about an NS lifecycle management operation

        occurrence by reading an individual "NS LCM operation occurrence"
        resource. See clause 6.4.10.3.2.
      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
      responses:
        '200':
          description: >
            200 OK

            Shall be returned when information about an NS LCM operation
            occurrence has been read successfully. The response

            body shall contain status information about an NS lifecycle
            management operation occurrence (see clause 6.5.2.3).
          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:
                description: "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1:\tThis allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2:\tA coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3:\tThe list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED” and \"ROLLED_BACK\".\n"
                type: object
                required:
                  - id
                  - operationState
                  - statusEnteredTime
                  - nsInstanceId
                  - lcmOperationType
                  - startTime
                  - isAutomaticInvocation
                  - isCancelPending
                  - _links
                properties:
                  id:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  operationState:
                    description: >
                      Value | Description ------|------------ PROCESSING | The
                      LCM operation is currently in execution. COMPLETED | The
                      LCM operation has been completed successfully.
                      PARTIALLY_COMPLETED | The LCM operation has been partially
                      completed with accepTable errors. FAILED_TEMP | The LCM
                      operation has failed and execution has stopped, but the
                      execution of the operation is not considered to be closed.
                      FAILED | The LCM operation has failed and it cannot be
                      retried or rolled back, as it is determined that such
                      action will not succeed. OLLING_BACK | The LCM operation
                      is currently being rolled back. ROLLED_BACK | The LCM
                      operation has been successfully rolled back, i.e. The
                      state of the NS prior to the original operation invocation
                      has been restored as closely as possible.
                    type: string
                    enum:
                      - PROCESSING
                      - COMPLETED
                      - PARTIALLY_COMPLETED
                      - FAILED_TEMP
                      - FAILED
                      - ROLLING_BACK
                      - ROLLED_BACK
                  stateEnteredTime:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according toas defined by the date-time production in IETF
                      RFC 3339.
                    format: date-time
                  nsInstanceId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  lcmOperationType:
                    description: >
                      The enumeration NsLcmOpType represents those lifecycle
                      operations that trigger a NS lifecycle management
                      operation occurrence notification. Value | Description
                      ------|------------ INSTANTIATE | Represents the
                      "Instantiate NS" LCM operation. SCALE | Represents the
                      "Scale NS" LCM operation. UPDATE | Represents the "Update
                      NS" LCM operation. TERMINATE | Represents the "Terminate
                      NS" LCM operation. HEAL | Represents the "Heal NS" LCM
                      operation.
                    type: string
                    enum:
                      - INSTANTIATE
                      - SCALE
                      - UPDATE
                      - TERMINATE
                      - HEAL
                  startTime:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according toas defined by the date-time production in IETF
                      RFC 3339.
                    format: date-time
                  isAutomaticInvocation:
                    description: >
                      Set to true if this NS LCM operation occurrence has been
                      automatically triggered by the NFVO. This occurs in the
                      case of auto-scaling, auto-healing and when a nested NS is
                      modified as a result of an operation on its composite NS.
                      Set to false otherwise.
                    type: boolean
                  operationParams:
                    description: >
                      Input parameters of the LCM operation. This attribute
                      shall be formatted according to the request data type of
                      the related LCM operation. In addition, the provisions in
                      clause 6.7 shall apply. The following mapping between
                      lcmOperationType and the data type of this attribute shall
                      apply: - INSTANTIATE: InstantiateNsRequest - SCALE:
                      ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL:
                      HealNsRequest - TERMINATE: TerminateNsRequest This
                      attribute shall be present if this data type is returned
                      in a response to reading an individual resource, and may
                      be present according to the chosen attribute selector
                      parameter if this data type is returned in a response to a
                      query of a container resource.
                    type: string
                    enum:
                      - INSTANTIATE
                      - SCALE
                      - UPDATE
                      - HEAL
                      - TERMINATE
                  isCancelPending:
                    description: >
                      If the LCM operation occurrence is in "PROCESSING" or
                      "ROLLING_BACK" state and the operation is being cancelled,
                      this attribute shall be set to true. Otherwise, it shall
                      be set to false.
                    type: boolean
                  cancelMode:
                    description: >
                      Cancellation mode.

                      The NFVO shall not start any new VNF lifecycle management
                      and resource management operation, and shall wait for the
                      ongoing VNF lifecycle management and resource management
                      operations in the underlying system, typically the VNFM
                      and VIM, to finish execution or to time out. After that,
                      the NFVO shall put the operation occurrence into the
                      FAILED_TEMP state.

                      The NFVO shall not start any new VNF lifecycle management
                      and resource management operation, shall cancel the
                      ongoing VNF lifecycle management and resource management
                      operations in the underlying system, typically the VNFM
                      and VIM, and shall wait for the cancellation to finish or
                      to time out. After that, the NFVO shall put the operation
                      occurrence into the FAILED_TEMP state.
                    type: string
                    enum:
                      - GRACEFUL
                      - FORCEFUL
                  error:
                    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
                  resourceChanges:
                    description: >
                      This attribute contains information about the cumulative
                      changes to virtualised resources that were performed so
                      far by the LCM operation since its start, if applicable
                    type: object
                    properties:
                      affectedVnfs:
                        description: >
                          Information about the VNF instances that were affected
                          during the lifecycle operation, if this notification
                          represents the result of a lifecycle operation. See
                          note 1.
                        type: array
                        items:
                          description: "This type provides information about added, deleted and modified VNFs.\nNOTE:\tAt least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n"
                          type: object
                          required:
                            - vnfInstanceId
                            - vnfdId
                            - vnfProfileId
                            - vnfName
                            - changeType
                            - changeResult
                          anyOf:
                            - required:
                                - changedExtConnectivity
                            - oneOf:
                                - required:
                                    - changedVnfInfo
                                - required:
                                    - modificationsTriggeredByVnfPkgChange
                          properties:
                            vnfInstanceId:
                              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
                            vnfProfileId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            vnfName:
                              description: |
                                Name of the VNF Instance.
                              type: string
                            changeType:
                              description: "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY -\tCHANGE_VNFPKG\n"
                              type: string
                              enum:
                                - ADD
                                - REMOVE
                                - INSTANTIATE
                                - TERMINATE
                                - SCALE
                                - CHANGE_FLAVOUR
                                - HEAL
                                - OPERATE
                                - MODIFY_INFORMATION
                                - CHANGE_EXTERNAL_VNF_CONNECTIVITY
                                - CHANGE_VNFPKG
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: -
                                COMPLETED - ROLLED_BACK - FAILED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                            changedInfo:
                              description: >
                                Information about the changed VNF instance
                                information, including VNF configurable
                                properties,if applicable. When the "changedInfo"
                                attribute is present,  either the
                                "changedVnfInfo" attribute or the
                                "changedExtConnectivity" attribute or both shall
                                be present.
                              type: object
                              anyOf:
                                - required:
                                    - changedVnfInfo
                                - required:
                                    - changedVnfInfo
                                - required:
                                    - modificationsTriggeredByVnfPkgChange
                              oneOf:
                                - required:
                                    - changedVnfInfo
                                - required:
                                    - modificationsTriggeredByVnfPkgChange
                              properties:
                                changedVnfInfo:
                                  description: >
                                    This type represents the information that is
                                    requested to be modified for a VNF instance.
                                    The information to be modified shall comply
                                    with the associated NSD. EXAMPLE. The
                                    vnfPkgId attribute value for a particular
                                    VNF instance can only be updated with a
                                    value that matches the identifier value of a
                                    VNF package whose vnfdId is present in the
                                    associated profile of the NSD.
                                  type: object
                                  required:
                                    - vnfInstanceId
                                  properties:
                                    vnfInstanceId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfInstanceName:
                                      description: >
                                        New value of the "vnfInstanceName"
                                        attribute in "VnfInstance", or "null" to
                                        remove the attribute.
                                      type: string
                                    vnfInstanceDescription:
                                      description: >
                                        New value of the
                                        "vnfInstanceDescription" attribute in
                                        "VnfInstance", or "null" to remove the
                                        attribute.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfConfigurableProperties:
                                      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
                                    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
                                    extensions:
                                      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
                                changedExtConnectivity:
                                  description: >
                                    Information about changed external
                                    connectivity, if applicable. Only
                                    information about external VL instances that
                                    have been added or modified shall be
                                    provided. See note.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - id
                                      - resourceHandle
                                    properties:
                                      id:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceHandle:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      extLinkPorts:
                                        description: |
                                          Link ports of this VL.
                                        type: array
                                        items:
                                          description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                          type: object
                                          required:
                                            - id
                                            - resourceHandle
                                          properties:
                                            id:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceHandle:
                                              description: >
                                                This type represents the information
                                                that allows addressing a virtualised
                                                resource that is used by a VNF instance
                                                or by an NS instance. Information about
                                                the resource is available from the VIM.
                                                NOTE: The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle.
                                              type: object
                                              required:
                                                - resourceId
                                              properties:
                                                vimId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceProviderId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                                vimLevelResourceType:
                                                  description: >
                                                    Type of the resource in the scope of the
                                                    VIM, the WIM or the resource provider.
                                                    The value set of the
                                                    "vimLevelResourceType" attribute is
                                                    within the scope of the VIM, the WIM or
                                                    the resource provider and can be used as
                                                    information that complements the
                                                    ResourceHandle. See note.
                                                  type: string
                                            cpInstanceId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            secondaryCpInstanceId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            trunkResourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                      currentVnfExtCpData:
                                        description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                        type: object
                                        required:
                                          - cpdId
                                        properties:
                                          cpdId:
                                            description: >
                                              Identifier of the VNF Virtual Link
                                              Descriptor (VLD) in the VNFD.
                                            type: string
                                          cpConfig:
                                            description: >
                                              Map of instance data that need to be
                                              configured on the CP instances  created
                                              from the respective CPD. The key of the
                                              map which identifies  the individual
                                              VnfExtCpConfig entries is of type
                                              "IdentifierInVnf"  and is managed by the
                                              API consumer. The entries shall be
                                              applied by  the VNFM according to the
                                              rules of JSON Merge Patch (see IETF RFC
                                              7396 [11]).  See notes 2, 3 and 4.
                                            type: object
                                            additionalProperties:
                                              description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - linkPortId
                                                - required:
                                                    - cpProtocolData
                                              properties:
                                                parentCpConfigId:
                                                  description: >
                                                    An identifier that is unique for the
                                                    respective type within a VNF instance,
                                                    but may not be globally unique.
                                                  type: string
                                                linkPortId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                createExtLinkPort:
                                                  description: >
                                                    Indicates the need to create a dedicated
                                                    link port for the external CP. If set to
                                                    True, a link port is created. If set to
                                                    False, no link port is created. This
                                                    attribute is only applicable for
                                                    external CP instances without a floating
                                                    IP address that expose a VIP CP instance
                                                    for which a dedicated IP address is
                                                    allocated. It shall be present in that
                                                    case and shall be absent otherwise.
                                                  type: boolean
                                                cpProtocolData:
                                                  description: >
                                                    Parameters for configuring the network
                                                    protocols on the link port that connects
                                                    the CP to a VL. See note 1.
                                                  type: array
                                                  items:
                                                    description: >
                                                      This type represents network protocol
                                                      data.
                                                    type: object
                                                    required:
                                                      - layerProtocol
                                                    properties:
                                                      layerProtocol:
                                                        description: >
                                                          Identifier of layer(s) and protocol(s).
                                                          Permitted values: IP_OVER_ETHERNET.
                                                        type: string
                                                        enum:
                                                          - IP_OVER_ETHERNET
                                                      ipOverEthernet:
                                                        description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                        type: object
                                                        anyOf:
                                                          - required:
                                                              - ipAddresses
                                                          - required:
                                                              - macAddress
                                                        properties:
                                                          macAddress:
                                                            description: >
                                                              A MAC address. Representation: string
                                                              that consists of groups of two
                                                              hexadecimal digits, separated by hyphens
                                                              or colons.
                                                            type: string
                                                            format: MAC
                                                          segmentationType:
                                                            description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                            type: string
                                                            enum:
                                                              - VLAN
                                                              - INHERIT
                                                          segmentationId:
                                                            description: >
                                                              Identification of the network segment to
                                                              which the CP instance connects to. See
                                                              note 3 and note 4.
                                                            type: string
                                                          ipAddresses:
                                                            description: >
                                                              List of IP addresses to assign to the CP
                                                              instance. Each entry represents IP
                                                              address data for fixed or dynamic IP
                                                              address assignment per subnet. If this
                                                              attribute is not present, no IP address
                                                              shall be assigned. See note 1.
                                                            type: array
                                                            items:
                                                              type: object
                                                              required:
                                                                - type
                                                              oneOf:
                                                                - required:
                                                                    - fixedAddresses
                                                                - required:
                                                                    - numDynamicAddresses
                                                                - required:
                                                                    - addressRange
                                                              properties:
                                                                type:
                                                                  description: >
                                                                    The type of the IP addresses. Permitted
                                                                    values:
                                                                      - IPV4
                                                                      - IPV6
                                                                  type: string
                                                                  enum:
                                                                    - IPV4
                                                                    - IPV6
                                                                fixedAddresses:
                                                                  description: >
                                                                    Fixed addresses to assign (from the
                                                                    subnet defined by "subnetId" if
                                                                    provided). Exactly one of
                                                                    "fixedAddresses", "numDynamicAddresses"
                                                                    or "ipAddressRange" shall be present.
                                                                  type: array
                                                                  items:
                                                                    description: >
                                                                      An IPV4 or IPV6 address. Representation:
                                                                      In case of an IPV4 address, string that
                                                                      consists of four decimal integers
                                                                      separated by dots, each integer ranging
                                                                      from 0 to 255. In case of an IPV6
                                                                      address, string that consists of groups
                                                                      of zero to four hexadecimal digits,
                                                                      separated by colons.
                                                                    type: string
                                                                    format: IP
                                                                numDynamicAddresses:
                                                                  description: >
                                                                    Number of dynamic addresses to assign
                                                                    (from the subnet defined by "subnetId"
                                                                    if provided). See note 2.
                                                                  type: integer
                                                                addressRange:
                                                                  description: >
                                                                    An IP address range to be used, e.g. in
                                                                    case of egress connections. In case this
                                                                    attribute is present, IP addresses from
                                                                    the range will be used.
                                                                  type: object
                                                                  required:
                                                                    - minAddress
                                                                    - maxAddress
                                                                  properties:
                                                                    minAddress:
                                                                      description: >
                                                                        An IPV4 or IPV6 address. Representation:
                                                                        In case of an IPV4 address, string that
                                                                        consists of four decimal integers
                                                                        separated by dots, each integer ranging
                                                                        from 0 to 255. In case of an IPV6
                                                                        address, string that consists of groups
                                                                        of zero to four hexadecimal digits,
                                                                        separated by colons.
                                                                      type: string
                                                                      format: IP
                                                                    maxAddress:
                                                                      description: >
                                                                        An IPV4 or IPV6 address. Representation:
                                                                        In case of an IPV4 address, string that
                                                                        consists of four decimal integers
                                                                        separated by dots, each integer ranging
                                                                        from 0 to 255. In case of an IPV6
                                                                        address, string that consists of groups
                                                                        of zero to four hexadecimal digits,
                                                                        separated by colons.
                                                                      type: string
                                                                      format: IP
                                                                subnetId:
                                                                  description: >
                                                                    An identifier maintained by the VIM or
                                                                    other resource provider. It is expected
                                                                    to be unique within the VIM instance.
                                                                    Representation: string of variable
                                                                    length.
                                                                  type: string
                                modificationsTriggeredByVnfPkgChange:
                                  description: >
                                    This type represents attribute modifications
                                    that were performed by the VNFM on an
                                    "Individual VNF instance"  resource when
                                    changing the current VNF package. The
                                    "ModificationsTriggeredByVnfPkgChange" data
                                    type shall comply with the provisions
                                    defined in table 6.5.3.79-1.
                                  type: object
                                  properties:
                                    vnfConfigurableProperties:
                                      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
                                    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
                                    extensions:
                                      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
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfProvider:
                                      description: >
                                        If present, this attribute signals the
                                        new value of the "vnfProvider" attribute
                                        in "VnfInstance". If present, this
                                        attribute (which depends on the value of
                                        the "vnfdId" attribute) was modified
                                        implicitly during the related operation,
                                        and contains a copy of the value of the
                                        related attribute from the VNFD in the
                                        VNF Package identified by the "vnfdId"
                                        attribute.
                                      type: string
                                    vnfProductName:
                                      description: >
                                        If present, this attribute signals the
                                        new value of the "vnfProductName"
                                        attribute in "VnfInstance". If present,
                                        this attribute (which depends on the
                                        value of the "vnfdId" attribute) was
                                        modified implicitly during the related
                                        operation, and contains a copy of the
                                        value of the related attribute from the
                                        VNFD in the VNF Package identified by
                                        the "vnfdId" attribute.
                                      type: string
                                    vnfSoftwareVersion:
                                      description: >
                                        A Version. Representation: string of
                                        variable length.
                                      type: string
                                    vnfdVersion:
                                      description: >
                                        A Version. Representation: string of
                                        variable length.
                                      type: string
                      affectedPnfs:
                        description: >
                          Information about the PNF instances that were affected
                          during the lifecycle operation, if this notification
                          represents the result of a lifecycle operation. See
                          note 1.
                        type: array
                        items:
                          description: >
                            This type provides information about added, deleted
                            and modified PNFs.  It shall comply with the
                            provisions in Table 6.5.3.3-1.
                          type: object
                          required:
                            - pnfId
                            - pnfdId
                            - pnfProfileId
                            - cpInstanceId
                          properties:
                            pnfId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            pnfdId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            pnfProfileId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            pnfName:
                              description: |
                                Name of the PNF.
                              type: string
                            cpInstanceId:
                              description: |
                                Identifier of the CP in the scope of the PNF.
                              type: array
                              items:
                                description: >
                                  An Identifier that is unique within respect to
                                  a PNF. Representation: string of variable
                                  length.
                                type: string
                            changeType:
                              description: >
                                Signals the type of change. Permitted values: -
                                ADD - REMOVE - MODIFY
                              type: string
                              enum:
                                - ADD
                                - REMOVE
                                - MODIFY
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: -
                                COMPLETED - ROLLED_BACK - FAILED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                      affectedVls:
                        description: >
                          Information about the VL instances that were affected
                          during the lifecycle operation, if this notification
                          represents the result of a lifecycle operation. See
                          note 1.
                        type: array
                        items:
                          description: "This type provides information about added, deleted, modified and temporary VLs. NOTE:\tThe resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n"
                          type: object
                          required:
                            - nsVirtualLinkInstanceId
                            - nsVirtualLinkDescId
                            - vlProfileId
                            - changeType
                            - changeResult
                          properties:
                            nsVirtualLinkInstanceId:
                              description: >
                                An identifier that is unique with respect to a
                                NS. Representation: string of variable length.
                              type: string
                            nsVirtualLinkDescId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            vlProfileId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            changeType:
                              description: >
                                Signals the type of change. Permitted values: *
                                ADD * DELETE * MODIFY * ADD_LINK_PORT *
                                REMOVE_LINK_PORT
                              type: string
                              enum:
                                - ADD
                                - DELETE
                                - MODIFY
                                - ADD_LINK_PORT
                                - REMOVE_LINK_PORT
                            linkPortIds:
                              description: >
                                Identifiers of the link ports of the affected VL
                                related to the change. Each identifier
                                references an "NsLinkPortInfo" structure.

                                Shall be set when changeType is equal to
                                "ADD_LINK_PORT" or "REMOVE_LINK_PORT", and the
                                related "NsLinkPortInfo" structures are present
                                (case "add") or have been present (case
                                "remove") in the "NsVirtualLinkInfo" structure
                                that is represented by the "virtualLink¬Info"
                                attribute in the "NsInstance" structure. See
                                note.
                              type: array
                              items:
                                description: >
                                  An identifier that is unique with respect to a
                                  NS. Representation: string of variable length.
                                type: string
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: *
                                COMPLETED * ROLLED_BACK * FAILED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                      affectedVnffgs:
                        description: >
                          Information about the VNFFG instances that were
                          affected during the lifecycle operation, if this
                          notification represents the result of a lifecycle
                          operation. See note 1.
                        type: array
                        items:
                          description: >
                            This type provides information about added, deleted
                            and modified VNFFG instances. It shall comply with
                            the provisions in Table 6.5.3.5-1.
                          type: object
                          required:
                            - vnffgInstanceId
                            - vnffgdId
                          properties:
                            vnffgInstanceId:
                              description: >
                                An identifier that is unique with respect to a
                                NS. Representation: string of variable length.
                              type: string
                            vnffgdId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            changeType:
                              description: >
                                Signals the type of change. Permitted values: -
                                ADD - DELETE - MODIFY
                              type: string
                              enum:
                                - ADD
                                - DELETE
                                - MODIFY
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: -
                                COMPLETED - ROLLED_BACK - FAILED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                      affectedNss:
                        description: >
                          Information about the nested NS instances that were
                          affected during the lifecycle operation, if this
                          notification represents the result of a lifecycle
                          operation. See note 1.
                        type: array
                        items:
                          description: >
                            This type provides information about added, deleted
                            and modified nested NSs. It shall comply with the
                            provisions in Table 6.5.3.6-1.
                          type: object
                          required:
                            - nsInstanceId
                            - nsdId
                            - changeType
                            - changeResult
                          properties:
                            nsInstanceId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            nsdId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            changeType:
                              description: >
                                Signals the type of lifecycle change. Permitted
                                values: - ADD - REMOVE - INSTANTIATE - SCALE -
                                UPDATE - HEAL - TERMINATE
                              type: string
                              enum:
                                - ADD
                                - REMOVE
                                - INSTANTIATE
                                - SCALE
                                - UPDATE
                                - HEAL
                                - TERMINATE
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: -
                                COMPLETED - ROLLED_BACK - FAILED -
                                PARTIALLY_COMPLETED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                                - PARTIALLY_COMPLETED
                            changedInfo:
                              description: >
                                Information about the changed NS instance
                                information, if applicable.
                              type: object
                              properties:
                                wanConnectionInfoModifications:
                                  description: >
                                    Information about the modified WAN related
                                    connectivity information, if applicable.
                                  type: array
                                  items:
                                    description: >
                                      This type represents attribute
                                      modifications that were performed on WAN
                                      connection information. The attributes
                                      that can be included consist of those
                                      requested to be modified explicitly with
                                      the "UpdateNsRequest" data structure. It
                                      shall comply with the provisions defined
                                      in table 6.5.3.93-1.
                                    type: object
                                    required:
                                      - wanConnectionInfoId
                                    properties:
                                      wanConnectionInfoId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      mscsName:
                                        description: >
                                          If present, this attribute signals
                                          modifications of the "mscsName"
                                          attribute in "MscsInfo" as defined in
                                          clause 6.5.3.82.
                                        type: string
                                      mscsDescription:
                                        description: >
                                          If present, this attribute signals
                                          modifications of the "mscsDescription"
                                          attribute in "MscsInfo" as defined in
                                          clause 6.5.3.82.
                                        type: string
                                      mscsEndpoints:
                                        description: >
                                          If present, this attribute signals
                                          modifications of certain entries in the
                                          "mscsEndpoints" attribute array in
                                          "MscsInfo", as defined in clause
                                          6.5.3.82.
                                        type: array
                                        items:
                                          description: >
                                            This type provides encapsulates
                                            information about an MSCS endpoint of
                                            the MSCS. It shall comply with the
                                            provisions defined in table 6.5.3.83-1.
                                          type: object
                                          required:
                                            - mscsEndpointId
                                            - directionality
                                            - connectivityServiceEndpoinId
                                          properties:
                                            mscsEndpointId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            directionality:
                                              description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                              type: string
                                              enum:
                                                - INBOUND
                                                - OUTBOUND
                                                - BOTH
                                            connectivityServiceEndpoinId:
                                              description: >
                                                References the connectivity service
                                                endpoint configuration information
                                                applicable to support the MSCS endpoint.
                                                More than one connectivity service
                                                endpoint can be referred when endpoints
                                                are in LAG mode.
                                              type: array
                                              items:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                      removeMscsEndpointIds:
                                        description: >
                                          If present, this attribute signals the
                                          deletion of certain entries in the
                                          "mscsEndpoints" attribute array in
                                          "MscsInfo", as defined in clause
                                          6.5.3.82.
                                        type: array
                                        items:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                      connectivityServiceEndpoints:
                                        description: >
                                          If present, this attribute signals
                                          modifications of certain entries in the
                                          "connectivityServiceEndpoints" attribute
                                          array in "WanConnectionProtocolInfo", as
                                          defined in clause 6.5.3.91.
                                        type: array
                                        items:
                                          description: >
                                            This type provides configuration data
                                            for the NFVI-PoP network gateway
                                            providing connectivity service
                                            endpoints. The connectivity service
                                            endpoints are used as endpoints by an
                                            MSCS. It shall comply with the
                                            provisions defined in Table 6.5.3.84-1.
                                          type: object
                                          required:
                                            - connectivityServiceEndpointId
                                            - vimId
                                          properties:
                                            connectivityServiceEndpointId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            siteToWanLayer2ProtocolData:
                                              description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                              type: object
                                              required:
                                                - layer2ConnectionInfo
                                              properties:
                                                layer2ConnectionInfo:
                                                  description: >
                                                    Layer 2 protocol parameters of the
                                                    connectivity service endpoint (CSE).
                                                  type: object
                                                  required:
                                                    - connectionType
                                                    - interfaceType
                                                    - interfaceTagging
                                                    - encapsulationType
                                                  properties:
                                                    connectionType:
                                                      description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                                      type: string
                                                      enum:
                                                        - CSE
                                                        - AGGREGATE_CSE
                                                    interfaceType:
                                                      description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                                      type: string
                                                      enum:
                                                        - PARENT
                                                        - LOGICAL
                                                    interfaceTagging:
                                                      description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                                      type: string
                                                      enum:
                                                        - UNTAGGED
                                                        - TAGGED
                                                    encapsulationType:
                                                      description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                                      type: string
                                                      enum:
                                                        - ETH
                                                        - VLAN
                                                        - VXLAN
                                                    vlanTaggingType:
                                                      description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                                      type: string
                                                      enum:
                                                        - DOT1Q
                                                        - QINQ
                                                        - QINANY
                                                    wanSegmentIds:
                                                      description: >
                                                        Segment identifiers to pass on the
                                                        tagged interface. Shall be present if
                                                        encapsulationType="VLAN" or “VXLAN".
                                                      type: object
                                                      required:
                                                        - wanSegmentIdValue
                                                      properties:
                                                        wanSegmentIdValue:
                                                          description: >
                                                            Identifier of the network segment (e.g.,
                                                            VLAN id or VNI).
                                                          type: string
                                                        wanSegmentIdUpperRange:
                                                          description: >
                                                            Identifier of the upper range network
                                                            segment, in case the "wanSegmentIds" is
                                                            used to define a range.
                                                          type: string
                                                    vxlanConfig:
                                                      description: >
                                                        Additional configuration needed when
                                                        using VXLAN encapsulation. Shall be
                                                        present if interfaceTagging="TAGGED" and
                                                        encapsulationType="VXLAN".
                                                      type: object
                                                      required:
                                                        - peerMode
                                                      properties:
                                                        peerMode:
                                                          description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                                          type: string
                                                          enum:
                                                            - STATIC
                                                            - BGP_EVPN
                                                        peers:
                                                          description: >
                                                            List of IP addresses of VTEP peers when
                                                            using static mode.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                    lagInterfaceData:
                                                      description: >
                                                        Information for setting up a LAG
                                                        interface aggregating multiple
                                                        connectivity service endpoints.
                                                      type: object
                                                      required:
                                                        - aggregatedEndpoints
                                                        - lacpActivation
                                                        - lacpConfig
                                                      properties:
                                                        aggregatedEndpoints:
                                                          description: >
                                                            List of the connectivity service
                                                            endpoints that are to be aggregated.
                                                            Shall be present if
                                                            connectionType="AGGREGATE_CSE". In case
                                                            of aggregating connectivity service
                                                            endpoints, only one
                                                            SiteToWanLayer2ProtocolData shall be
                                                            provided for the whole set of aggregated
                                                            endpoints.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An identifier with the intention of
                                                              being globally unique.
                                                            type: string
                                                        lacpActivation:
                                                          description: >
                                                            Indicates whether to activate LACP on
                                                            the interface. If "TRUE", the LACP is to
                                                            be activated, or "FALSE" otherwise.
                                                            Default value is "FALSE".
                                                          type: boolean
                                                        lacpConfig:
                                                          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
                                                    layer2ControlProtocol:
                                                      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
                                                mtuL2:
                                                  description: >
                                                    Maximum Transmission Unit (MTU) that can
                                                    be forwarded at layer 2 (in bytes).
                                                    Default value is "1500" (bytes).
                                                  type: number
                                                virtualRoutingAndForwarding:
                                                  description: >
                                                    Configuration related to the L2 virtual
                                                    routing and forwarding (MAC-VRF).
                                                  type: object
                                                  required:
                                                    - macVrfName
                                                  properties:
                                                    macVrfName:
                                                      description: >
                                                        Name (or identifier) of the MAC-VRF
                                                        instance.
                                                      type: string
                                                forwardingConfig:
                                                  description: >
                                                    Information related to the forwarding of
                                                    the VN in the NFVI-PoP to the
                                                    connectivity service endpoint, if
                                                    information about the VN to "stitch" is
                                                    already known. . by the OSS/BSS. Shall
                                                    not be provided otherwise, in which case
                                                    the NFVO will infer the forwarding
                                                    configuration based on the NS VL, or
                                                    external VL, or externally-managed VL
                                                    provisioning.
                                                  type: object
                                                  oneOf:
                                                    - required:
                                                        - networkResources
                                                    - required:
                                                        - vnSegmentIds
                                                  properties:
                                                    networkResources:
                                                      description: >
                                                        Reference to the VN resource to be
                                                        forwarded into/from the MSCS. See note.
                                                      type: array
                                                      items:
                                                        description: >
                                                          This type represents the information
                                                          that allows addressing a virtualised
                                                          resource that is used by a VNF instance
                                                          or by an NS instance. Information about
                                                          the resource is available from the VIM.
                                                          NOTE: The value set of the
                                                          "vimLevelResourceType" attribute is
                                                          within the scope of the VIM, the WIM or
                                                          the resource provider and can be used as
                                                          information that complements the
                                                          ResourceHandle.
                                                        type: object
                                                        required:
                                                          - resourceId
                                                        properties:
                                                          vimId:
                                                            description: >
                                                              An identifier with the intention of
                                                              being globally unique.
                                                            type: string
                                                          resourceProviderId:
                                                            description: >
                                                              An identifier with the intention of
                                                              being globally unique.
                                                            type: string
                                                          resourceId:
                                                            description: >
                                                              An identifier maintained by the VIM or
                                                              other resource provider. It is expected
                                                              to be unique within the VIM instance.
                                                              Representation: string of variable
                                                              length.
                                                            type: string
                                                          vimLevelResourceType:
                                                            description: >
                                                              Type of the resource in the scope of the
                                                              VIM, the WIM or the resource provider.
                                                              The value set of the
                                                              "vimLevelResourceType" attribute is
                                                              within the scope of the VIM, the WIM or
                                                              the resource provider and can be used as
                                                              information that complements the
                                                              ResourceHandle. See note.
                                                            type: string
                                                    vnSegmentIds:
                                                      description: >
                                                        Identifiers of the network segments of
                                                        the VN resources to be forwarded
                                                        into/from the MSCS.
                                                      type: object
                                                      required:
                                                        - vnSegmentIdValue
                                                      properties:
                                                        vnSegmentIdValue:
                                                          description: |
                                                            Identifier of the network segment.
                                                          type: string
                                                        vnSegmentIdUpperRange:
                                                          description: >
                                                            Identifier of the upper range network
                                                            segment, in case the "vnSegmentIds" is
                                                            used to define a range.
                                                          type: string
                                            siteToWanLayer3ProtocolData:
                                              description: >
                                                This type provides information about
                                                Layer 3 protocol specific information
                                                for the stitching of the intra-site VN
                                                to the multi-site connectivity service
                                                over the WAN. It shall comply with the
                                                provisions defined in Table 6.5.3.86-1.
                                              type: object
                                              required:
                                                - routingInfo
                                              properties:
                                                logicalInterfaceIpAddress:
                                                  description: >
                                                    IP addressing information associated to
                                                    a logical interface. Shall be present if
                                                    the "interfaceType" of the
                                                    SiteToWanLayer2ProtocolData is equal to
                                                    "LOGICAL".
                                                  type: object
                                                  required:
                                                    - ipAddress
                                                    - associatedSegmentId
                                                  properties:
                                                    ipAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    associatedSegmentId:
                                                      description: >
                                                        The associated segment identifier that
                                                        has triggered the creation of the
                                                        logical interface. The value shall be
                                                        one of the values listed in the
                                                        "wanSegmentIds" of the
                                                        "siteToWanLayer2ProtocolData".
                                                      type: string
                                                routingInfo:
                                                  description: >
                                                    The routing information that is
                                                    activated on the connectivity service
                                                    endpoint. More than one "routingInfo" is
                                                    allowed to enable stacking different
                                                    routing protocols (e.g., one routing
                                                    protocol for IPv4 and another one for
                                                    IPv6).
                                                  type: object
                                                  required:
                                                    - routingProtocol
                                                    - routingAddressFamily
                                                  properties:
                                                    routingProtocol:
                                                      description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                                      type: string
                                                      enum:
                                                        - BGP
                                                        - RIP
                                                        - OSPF
                                                        - STATIC
                                                        - DIRECT
                                                        - VRRP
                                                    staticRouting:
                                                      description: >
                                                        Defines a static route. It shall only be
                                                        present if the routingProtocol="STATIC".
                                                      type: object
                                                      required:
                                                        - ipVersion
                                                        - ipPrefix
                                                        - prefixSize
                                                        - nextHop
                                                      properties:
                                                        ipVersion:
                                                          description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        ipPrefix:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        prefixSize:
                                                          description: |
                                                            The IP prefix size.
                                                          type: number
                                                        nextHop:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                    routingAddressFamily:
                                                      description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                                      type: string
                                                      enum:
                                                        - IPV4
                                                        - IPv6
                                                    ospfRouting:
                                                      description: >
                                                        Defines parameters for OSPF routing. It
                                                        shall only be present if the
                                                        routingProtocol="OSPF".
                                                      type: object
                                                      required:
                                                        - areaId
                                                      properties:
                                                        areaId:
                                                          description: >
                                                            The routing area identifier, e.g., a
                                                            number or an IP address.
                                                          type: string
                                                    bgpRouting:
                                                      description: >
                                                        Defines parameters for BGP routing. It
                                                        shall only be present if the
                                                        routingProtocol="BGP".
                                                      type: object
                                                      required:
                                                        - bgpAs
                                                      properties:
                                                        bgpAs:
                                                          description: >
                                                            The Autonomous System (AS)
                                                            identification applicable to the BGP
                                                            routing info entry.
                                                          type: object
                                                        bgpNeighbour:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        bgpAdditionalParam:
                                                          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
                                                    routeMapsDistribution:
                                                      description: >
                                                        Maps of routes that are permitted or
                                                        denied for redistribution.
                                                      type: object
                                                      required:
                                                        - policy
                                                        - sequence
                                                        - matchAndSetRule
                                                      properties:
                                                        policy:
                                                          description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                                          type: string
                                                          enum:
                                                            - PERMIT
                                                            - DENY
                                                        sequence:
                                                          description: >
                                                            Sequence or index number assigned to the
                                                            route-map.
                                                          type: number
                                                        matchAndSetRule:
                                                          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
                                                mtuL3:
                                                  description: >
                                                    Maximum Transmission Unit (MTU) that can
                                                    be forwarded at layer 3 (in bytes).
                                                    Default value is "1500" (bytes).
                                                  type: number
                                                virtualRoutingAndForwarding:
                                                  description: >
                                                    Configuration related to the virtual
                                                    routing and forwarding (VRF).
                                                  type: object
                                                  required:
                                                    - vrfName
                                                  properties:
                                                    vrfName:
                                                      description: >
                                                        Name (or identifier) of the VRF
                                                        instance.
                                                      type: string
                                                bfdConfig:
                                                  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
                                      removeConnectivityServiceEndpoints:
                                        description: >
                                          If present, this attribute signals the
                                          deletion of certain entries in the
                                          "connectivityServiceEndpoints" attribute
                                          array in "WanConnectionProtocolInfo", as
                                          defined in clause 6.5.3.91.
                                        type: array
                                        items:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                      affectedSaps:
                        description: >
                          Information about the nested NS instances that were
                          affected during the lifecycle operation, if this
                          notification represents the result of a lifecycle
                          operation. See note 1.
                        type: array
                        items:
                          description: >
                            This type provides information about added, deleted
                            and modified SAP of a NS. It shall comply with the
                            provisions in Table 6.5.3.7-1.
                          type: object
                          required:
                            - sapInstanceId
                            - sapdId
                          properties:
                            sapInstanceId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            sapdId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            sapName:
                              description: |
                                Human readable name for the SAP.
                              type: string
                            changeType:
                              description: >
                                Signals the type of lifecycle change. Permitted
                                values: - ADD - REMOVE - MODIFY
                              type: string
                              enum:
                                - ADD
                                - REMOVE
                                - MODIFY
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: -
                                COMPLETED - ROLLED_BACK - FAILED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                  lcmCoordinations:
                    description: >
                      Information about LCM coordination actions (see clause 12)
                      related to this LCM operation occurrence.
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - coordinationActionName
                        - startTime
                        - endpointType
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        coordinationActionName:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        coordinationResult:
                          description: >
                            The enumeration LcmCoordResultType defines the
                            permitted values to represent the result 

                            of executing an LCM coordination action. The
                            coordination result also implies the action 

                            to be performed by the NFVO as the follow-up to this
                            coordination. The LcmCoordResultType 

                            shall comply with the provisions defined in table
                            12.5.4.3.-1.


                            - CONTINUE: The related LCM operation shall be
                            continued, staying in the state "PROCESSING".

                            - ABORT: The related LCM operation shall be aborted
                            by transitioning into the state "FAILED_TEMP".

                            - CANCELLED: The coordination action has been
                            cancelled upon request of the API consumer, 
                                         i.e. the NFVO. The related LCM operation shall be aborted by transitioning into 
                                         the state "FAILED_TEMP".
                          type: string
                          enum:
                            - CONTINUE
                            - ABORT
                            - CACELLED
                        startTime:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        endTime:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        endpointType:
                          description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                          type: string
                          enum:
                            - MGMT
                        delay:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                  rejectedLcmCoordinations:
                    description: >
                      Information about LCM coordination actions (see clause 12)
                      that were rejected by 503 error which means they can be
                      tried again after a delay. See note 3.
                    type: array
                    items:
                      type: object
                      required:
                        - coordinationActionName
                        - rejectionTime
                        - endpointType
                        - delay
                      properties:
                        coordinationActionName:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        rejectionTime:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        endpointType:
                          description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                          type: string
                          enum:
                            - MGMT
                        delay:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                  warnings:
                    description: >
                      Warning messages that were generated while the operation
                      was executing.

                      If the operation has included VNF LCM operations or NS LCM
                      coordination actions and these have resulted in warnings,
                      such warnings should be added to this attribute.
                    type: array
                    items:
                      type: string
                  _links:
                    description: |
                      Links to resources related to this resource.
                    type: object
                    required:
                      - self
                      - nsInstance
                    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
                      nsInstance:
                        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
                      cancel:
                        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
                      retry:
                        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
                      rollback:
                        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
                      continue:
                        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
                      fail:
                        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
        '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
  '/ns_lcm_op_occs/{nsLcmOpOccId}/retry':
    parameters:
      - name: nsLcmOpOccId
        in: path
        description: |
          Identifier of a NS lifecycle management operation occurrence.
        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:
      description: >
        The POST method initiates retrying an NS lifecycle management operation
        if that operation has experienced a

        temporary failure, i.e. the related "NS LCM operation occurrence" is in
        "FAILED_TEMP" state. See clause 6.4.11.3.1.
      responses:
        '202':
          description: >
            202 ACCEPTED


            Shall be returned when the request has been accepted for processing,
            but processing has not been completed.

            The response shall have an empty payload body.
          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


            Shall be returned upon the following error: The API producer did not
            find a current representation for the

            target resource or is not willing to disclose that one exists.

            The general cause for this error and its handling is specified in
            clause 6.4 of ETSI GS NFV-SOL 013 [16],

            including rules for the presence of the response body.

            Specifically in case of this task resource, the response code 404
            shall also be returned if the task is not

            supported for the NS LCM operation occurrence represented by the
            parent resource, which means that the task resource consequently
            does not exist.

            In this case, the response body shall be present, and shall contain
            a ProblemDetails structure, in which the

            "detail" attribute shall convey more information about the error.
          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: >
                  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


            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a conflict with

            the state of the NS LCM operation occurrence resource.

            Typically, this is due to the fact that the NS LCM operation
            occurrence is not in FAILED_TEMP state, or another

            error handling action is starting, such as rollback or fail.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey more

            information about the error.
          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: >
                  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
  '/ns_lcm_op_occs/{nsLcmOpOccId}/rollback':
    parameters:
      - name: nsLcmOpOccId
        in: path
        description: |
          Identifier of a NS lifecycle management operation occurrence.
        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:
      description: >
        The POST method initiates rolling back an NS lifecycle operation if that
        operation has experienced a

        temporary failure, i.e. the related "NS LCM operation occurrence" is in
        "FAILED_TEMP" state. See clause 6.4.12.3.1.
      responses:
        '202':
          description: >
            202 ACCEPTED


            Shall be returned when the request has been accepted for processing,
            but processing has not been completed.

            The response shall have an empty payload body.
          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


            Shall be returned upon the following error: The API producer did not
            find a current representation for the

            target resource or is not willing to disclose that one exists.

            The general cause for this error and its handling is specified in
            clause 6.4 of ETSI GS NFV-SOL 013 [16],

            including rules for the presence of the response body.

            Specifically, in case of this task resource, the response code 404
            shall also be returned if the task is not

            supported for the NS LCM operation occurrence represented by the
            parent resource, which means that the task resource consequently
            does not exist.

            In this case, the response body shall be present, and shall contain
            a ProblemDetails structure, in which the

            "detail" attribute shall convey more information about the error.
          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: >
                  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


            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a conflict with

            the state of the NS LCM operation occurrence resource.

            Typically, this is due to the fact that the NS LCM operation
            occurrence is not in FAILED_TEMP state, or another

            error handling action is starting, such as retry or fail.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey more

            information about the error.
          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: >
                  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
  '/ns_lcm_op_occs/{nsLcmOpOccId}/continue':
    parameters:
      - name: nsLcmOpOccId
        in: path
        description: |
          Identifier of a NS lifecycle management operation occurrence.
        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:
      description: >
        The POST method initiates continuing an NS lifecycle operation if that
        operation has experienced a

        temporary failure, i.e. the related "NS LCM operation occurrence" is in
        "FAILED_TEMP" state. See clause 6.4.13.3.1.
      responses:
        '202':
          description: >
            202 ACCEPTED


            Shall be returned when the request has been accepted for processing,
            but processing has not been completed.

            The response shall have an empty payload body.
          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


            Shall be returned upon the following error: The API producer did not
            find a current representation for the

            target resource or is not willing to disclose that one exists.

            The general cause for this error and its handling is specified in
            clause 6.4 of ETSI GS NFV-SOL 013 [16],

            including rules for the presence of the response body.

            Specifically, in case of this task resource, the response code 404
            shall also be returned if the task is not

            supported for the NS LCM operation occurrence represented by the
            parent resource, which means that the task resource consequently
            does not exist.

            In this case, the response body shall be present, and shall contain
            a ProblemDetails structure, in which the

            "detail" attribute shall convey more information about the error.
          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
        '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


            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a conflict

            with the state of the NS LCM operation occurrence resource.

            Typically, this is due to the fact that the NS LCM operation
            occurrence is not in FAILED_TEMP state, or

            another error handling action is starting, such as retry or fail.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey

            more information about the error.
          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
        '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
  '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/fail':
    parameters:
      - name: nsLcmOpOccId
        in: path
        description: |
          Identifier of a NS lifecycle management operation occurrence.
        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:
      description: >
        The POST method marks an NS lifecycle management operation occurrence as
        "finally failed" if that

        operation occurrence is in "FAILED_TEMP" state. See clause 6.4.14.3.1.
      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 state of the NS lifecycle management
            operation occurrence has been changed

            successfully. The response shall include a representation of the
            "Individual NS lifecycle management

            operation occurrence" 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:
                description: "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1:\tThis allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2:\tA coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3:\tThe list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED” and \"ROLLED_BACK\".\n"
                type: object
                required:
                  - id
                  - operationState
                  - statusEnteredTime
                  - nsInstanceId
                  - lcmOperationType
                  - startTime
                  - isAutomaticInvocation
                  - isCancelPending
                  - _links
                properties:
                  id:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  operationState:
                    description: >
                      Value | Description ------|------------ PROCESSING | The
                      LCM operation is currently in execution. COMPLETED | The
                      LCM operation has been completed successfully.
                      PARTIALLY_COMPLETED | The LCM operation has been partially
                      completed with accepTable errors. FAILED_TEMP | The LCM
                      operation has failed and execution has stopped, but the
                      execution of the operation is not considered to be closed.
                      FAILED | The LCM operation has failed and it cannot be
                      retried or rolled back, as it is determined that such
                      action will not succeed. OLLING_BACK | The LCM operation
                      is currently being rolled back. ROLLED_BACK | The LCM
                      operation has been successfully rolled back, i.e. The
                      state of the NS prior to the original operation invocation
                      has been restored as closely as possible.
                    type: string
                    enum:
                      - PROCESSING
                      - COMPLETED
                      - PARTIALLY_COMPLETED
                      - FAILED_TEMP
                      - FAILED
                      - ROLLING_BACK
                      - ROLLED_BACK
                  stateEnteredTime:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according toas defined by the date-time production in IETF
                      RFC 3339.
                    format: date-time
                  nsInstanceId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  lcmOperationType:
                    description: >
                      The enumeration NsLcmOpType represents those lifecycle
                      operations that trigger a NS lifecycle management
                      operation occurrence notification. Value | Description
                      ------|------------ INSTANTIATE | Represents the
                      "Instantiate NS" LCM operation. SCALE | Represents the
                      "Scale NS" LCM operation. UPDATE | Represents the "Update
                      NS" LCM operation. TERMINATE | Represents the "Terminate
                      NS" LCM operation. HEAL | Represents the "Heal NS" LCM
                      operation.
                    type: string
                    enum:
                      - INSTANTIATE
                      - SCALE
                      - UPDATE
                      - TERMINATE
                      - HEAL
                  startTime:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according toas defined by the date-time production in IETF
                      RFC 3339.
                    format: date-time
                  isAutomaticInvocation:
                    description: >
                      Set to true if this NS LCM operation occurrence has been
                      automatically triggered by the NFVO. This occurs in the
                      case of auto-scaling, auto-healing and when a nested NS is
                      modified as a result of an operation on its composite NS.
                      Set to false otherwise.
                    type: boolean
                  operationParams:
                    description: >
                      Input parameters of the LCM operation. This attribute
                      shall be formatted according to the request data type of
                      the related LCM operation. In addition, the provisions in
                      clause 6.7 shall apply. The following mapping between
                      lcmOperationType and the data type of this attribute shall
                      apply: - INSTANTIATE: InstantiateNsRequest - SCALE:
                      ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL:
                      HealNsRequest - TERMINATE: TerminateNsRequest This
                      attribute shall be present if this data type is returned
                      in a response to reading an individual resource, and may
                      be present according to the chosen attribute selector
                      parameter if this data type is returned in a response to a
                      query of a container resource.
                    type: string
                    enum:
                      - INSTANTIATE
                      - SCALE
                      - UPDATE
                      - HEAL
                      - TERMINATE
                  isCancelPending:
                    description: >
                      If the LCM operation occurrence is in "PROCESSING" or
                      "ROLLING_BACK" state and the operation is being cancelled,
                      this attribute shall be set to true. Otherwise, it shall
                      be set to false.
                    type: boolean
                  cancelMode:
                    description: >
                      Cancellation mode.

                      The NFVO shall not start any new VNF lifecycle management
                      and resource management operation, and shall wait for the
                      ongoing VNF lifecycle management and resource management
                      operations in the underlying system, typically the VNFM
                      and VIM, to finish execution or to time out. After that,
                      the NFVO shall put the operation occurrence into the
                      FAILED_TEMP state.

                      The NFVO shall not start any new VNF lifecycle management
                      and resource management operation, shall cancel the
                      ongoing VNF lifecycle management and resource management
                      operations in the underlying system, typically the VNFM
                      and VIM, and shall wait for the cancellation to finish or
                      to time out. After that, the NFVO shall put the operation
                      occurrence into the FAILED_TEMP state.
                    type: string
                    enum:
                      - GRACEFUL
                      - FORCEFUL
                  error:
                    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
                  resourceChanges:
                    description: >
                      This attribute contains information about the cumulative
                      changes to virtualised resources that were performed so
                      far by the LCM operation since its start, if applicable
                    type: object
                    properties:
                      affectedVnfs:
                        description: >
                          Information about the VNF instances that were affected
                          during the lifecycle operation, if this notification
                          represents the result of a lifecycle operation. See
                          note 1.
                        type: array
                        items:
                          description: "This type provides information about added, deleted and modified VNFs.\nNOTE:\tAt least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n"
                          type: object
                          required:
                            - vnfInstanceId
                            - vnfdId
                            - vnfProfileId
                            - vnfName
                            - changeType
                            - changeResult
                          anyOf:
                            - required:
                                - changedExtConnectivity
                            - oneOf:
                                - required:
                                    - changedVnfInfo
                                - required:
                                    - modificationsTriggeredByVnfPkgChange
                          properties:
                            vnfInstanceId:
                              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
                            vnfProfileId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            vnfName:
                              description: |
                                Name of the VNF Instance.
                              type: string
                            changeType:
                              description: "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY -\tCHANGE_VNFPKG\n"
                              type: string
                              enum:
                                - ADD
                                - REMOVE
                                - INSTANTIATE
                                - TERMINATE
                                - SCALE
                                - CHANGE_FLAVOUR
                                - HEAL
                                - OPERATE
                                - MODIFY_INFORMATION
                                - CHANGE_EXTERNAL_VNF_CONNECTIVITY
                                - CHANGE_VNFPKG
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: -
                                COMPLETED - ROLLED_BACK - FAILED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                            changedInfo:
                              description: >
                                Information about the changed VNF instance
                                information, including VNF configurable
                                properties,if applicable. When the "changedInfo"
                                attribute is present,  either the
                                "changedVnfInfo" attribute or the
                                "changedExtConnectivity" attribute or both shall
                                be present.
                              type: object
                              anyOf:
                                - required:
                                    - changedVnfInfo
                                - required:
                                    - changedVnfInfo
                                - required:
                                    - modificationsTriggeredByVnfPkgChange
                              oneOf:
                                - required:
                                    - changedVnfInfo
                                - required:
                                    - modificationsTriggeredByVnfPkgChange
                              properties:
                                changedVnfInfo:
                                  description: >
                                    This type represents the information that is
                                    requested to be modified for a VNF instance.
                                    The information to be modified shall comply
                                    with the associated NSD. EXAMPLE. The
                                    vnfPkgId attribute value for a particular
                                    VNF instance can only be updated with a
                                    value that matches the identifier value of a
                                    VNF package whose vnfdId is present in the
                                    associated profile of the NSD.
                                  type: object
                                  required:
                                    - vnfInstanceId
                                  properties:
                                    vnfInstanceId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfInstanceName:
                                      description: >
                                        New value of the "vnfInstanceName"
                                        attribute in "VnfInstance", or "null" to
                                        remove the attribute.
                                      type: string
                                    vnfInstanceDescription:
                                      description: >
                                        New value of the
                                        "vnfInstanceDescription" attribute in
                                        "VnfInstance", or "null" to remove the
                                        attribute.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfConfigurableProperties:
                                      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
                                    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
                                    extensions:
                                      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
                                changedExtConnectivity:
                                  description: >
                                    Information about changed external
                                    connectivity, if applicable. Only
                                    information about external VL instances that
                                    have been added or modified shall be
                                    provided. See note.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - id
                                      - resourceHandle
                                    properties:
                                      id:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceHandle:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      extLinkPorts:
                                        description: |
                                          Link ports of this VL.
                                        type: array
                                        items:
                                          description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                          type: object
                                          required:
                                            - id
                                            - resourceHandle
                                          properties:
                                            id:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceHandle:
                                              description: >
                                                This type represents the information
                                                that allows addressing a virtualised
                                                resource that is used by a VNF instance
                                                or by an NS instance. Information about
                                                the resource is available from the VIM.
                                                NOTE: The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle.
                                              type: object
                                              required:
                                                - resourceId
                                              properties:
                                                vimId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceProviderId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                                vimLevelResourceType:
                                                  description: >
                                                    Type of the resource in the scope of the
                                                    VIM, the WIM or the resource provider.
                                                    The value set of the
                                                    "vimLevelResourceType" attribute is
                                                    within the scope of the VIM, the WIM or
                                                    the resource provider and can be used as
                                                    information that complements the
                                                    ResourceHandle. See note.
                                                  type: string
                                            cpInstanceId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            secondaryCpInstanceId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            trunkResourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                      currentVnfExtCpData:
                                        description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                        type: object
                                        required:
                                          - cpdId
                                        properties:
                                          cpdId:
                                            description: >
                                              Identifier of the VNF Virtual Link
                                              Descriptor (VLD) in the VNFD.
                                            type: string
                                          cpConfig:
                                            description: >
                                              Map of instance data that need to be
                                              configured on the CP instances  created
                                              from the respective CPD. The key of the
                                              map which identifies  the individual
                                              VnfExtCpConfig entries is of type
                                              "IdentifierInVnf"  and is managed by the
                                              API consumer. The entries shall be
                                              applied by  the VNFM according to the
                                              rules of JSON Merge Patch (see IETF RFC
                                              7396 [11]).  See notes 2, 3 and 4.
                                            type: object
                                            additionalProperties:
                                              description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - linkPortId
                                                - required:
                                                    - cpProtocolData
                                              properties:
                                                parentCpConfigId:
                                                  description: >
                                                    An identifier that is unique for the
                                                    respective type within a VNF instance,
                                                    but may not be globally unique.
                                                  type: string
                                                linkPortId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                createExtLinkPort:
                                                  description: >
                                                    Indicates the need to create a dedicated
                                                    link port for the external CP. If set to
                                                    True, a link port is created. If set to
                                                    False, no link port is created. This
                                                    attribute is only applicable for
                                                    external CP instances without a floating
                                                    IP address that expose a VIP CP instance
                                                    for which a dedicated IP address is
                                                    allocated. It shall be present in that
                                                    case and shall be absent otherwise.
                                                  type: boolean
                                                cpProtocolData:
                                                  description: >
                                                    Parameters for configuring the network
                                                    protocols on the link port that connects
                                                    the CP to a VL. See note 1.
                                                  type: array
                                                  items:
                                                    description: >
                                                      This type represents network protocol
                                                      data.
                                                    type: object
                                                    required:
                                                      - layerProtocol
                                                    properties:
                                                      layerProtocol:
                                                        description: >
                                                          Identifier of layer(s) and protocol(s).
                                                          Permitted values: IP_OVER_ETHERNET.
                                                        type: string
                                                        enum:
                                                          - IP_OVER_ETHERNET
                                                      ipOverEthernet:
                                                        description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                        type: object
                                                        anyOf:
                                                          - required:
                                                              - ipAddresses
                                                          - required:
                                                              - macAddress
                                                        properties:
                                                          macAddress:
                                                            description: >
                                                              A MAC address. Representation: string
                                                              that consists of groups of two
                                                              hexadecimal digits, separated by hyphens
                                                              or colons.
                                                            type: string
                                                            format: MAC
                                                          segmentationType:
                                                            description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                            type: string
                                                            enum:
                                                              - VLAN
                                                              - INHERIT
                                                          segmentationId:
                                                            description: >
                                                              Identification of the network segment to
                                                              which the CP instance connects to. See
                                                              note 3 and note 4.
                                                            type: string
                                                          ipAddresses:
                                                            description: >
                                                              List of IP addresses to assign to the CP
                                                              instance. Each entry represents IP
                                                              address data for fixed or dynamic IP
                                                              address assignment per subnet. If this
                                                              attribute is not present, no IP address
                                                              shall be assigned. See note 1.
                                                            type: array
                                                            items:
                                                              type: object
                                                              required:
                                                                - type
                                                              oneOf:
                                                                - required:
                                                                    - fixedAddresses
                                                                - required:
                                                                    - numDynamicAddresses
                                                                - required:
                                                                    - addressRange
                                                              properties:
                                                                type:
                                                                  description: >
                                                                    The type of the IP addresses. Permitted
                                                                    values:
                                                                      - IPV4
                                                                      - IPV6
                                                                  type: string
                                                                  enum:
                                                                    - IPV4
                                                                    - IPV6
                                                                fixedAddresses:
                                                                  description: >
                                                                    Fixed addresses to assign (from the
                                                                    subnet defined by "subnetId" if
                                                                    provided). Exactly one of
                                                                    "fixedAddresses", "numDynamicAddresses"
                                                                    or "ipAddressRange" shall be present.
                                                                  type: array
                                                                  items:
                                                                    description: >
                                                                      An IPV4 or IPV6 address. Representation:
                                                                      In case of an IPV4 address, string that
                                                                      consists of four decimal integers
                                                                      separated by dots, each integer ranging
                                                                      from 0 to 255. In case of an IPV6
                                                                      address, string that consists of groups
                                                                      of zero to four hexadecimal digits,
                                                                      separated by colons.
                                                                    type: string
                                                                    format: IP
                                                                numDynamicAddresses:
                                                                  description: >
                                                                    Number of dynamic addresses to assign
                                                                    (from the subnet defined by "subnetId"
                                                                    if provided). See note 2.
                                                                  type: integer
                                                                addressRange:
                                                                  description: >
                                                                    An IP address range to be used, e.g. in
                                                                    case of egress connections. In case this
                                                                    attribute is present, IP addresses from
                                                                    the range will be used.
                                                                  type: object
                                                                  required:
                                                                    - minAddress
                                                                    - maxAddress
                                                                  properties:
                                                                    minAddress:
                                                                      description: >
                                                                        An IPV4 or IPV6 address. Representation:
                                                                        In case of an IPV4 address, string that
                                                                        consists of four decimal integers
                                                                        separated by dots, each integer ranging
                                                                        from 0 to 255. In case of an IPV6
                                                                        address, string that consists of groups
                                                                        of zero to four hexadecimal digits,
                                                                        separated by colons.
                                                                      type: string
                                                                      format: IP
                                                                    maxAddress:
                                                                      description: >
                                                                        An IPV4 or IPV6 address. Representation:
                                                                        In case of an IPV4 address, string that
                                                                        consists of four decimal integers
                                                                        separated by dots, each integer ranging
                                                                        from 0 to 255. In case of an IPV6
                                                                        address, string that consists of groups
                                                                        of zero to four hexadecimal digits,
                                                                        separated by colons.
                                                                      type: string
                                                                      format: IP
                                                                subnetId:
                                                                  description: >
                                                                    An identifier maintained by the VIM or
                                                                    other resource provider. It is expected
                                                                    to be unique within the VIM instance.
                                                                    Representation: string of variable
                                                                    length.
                                                                  type: string
                                modificationsTriggeredByVnfPkgChange:
                                  description: >
                                    This type represents attribute modifications
                                    that were performed by the VNFM on an
                                    "Individual VNF instance"  resource when
                                    changing the current VNF package. The
                                    "ModificationsTriggeredByVnfPkgChange" data
                                    type shall comply with the provisions
                                    defined in table 6.5.3.79-1.
                                  type: object
                                  properties:
                                    vnfConfigurableProperties:
                                      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
                                    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
                                    extensions:
                                      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
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfProvider:
                                      description: >
                                        If present, this attribute signals the
                                        new value of the "vnfProvider" attribute
                                        in "VnfInstance". If present, this
                                        attribute (which depends on the value of
                                        the "vnfdId" attribute) was modified
                                        implicitly during the related operation,
                                        and contains a copy of the value of the
                                        related attribute from the VNFD in the
                                        VNF Package identified by the "vnfdId"
                                        attribute.
                                      type: string
                                    vnfProductName:
                                      description: >
                                        If present, this attribute signals the
                                        new value of the "vnfProductName"
                                        attribute in "VnfInstance". If present,
                                        this attribute (which depends on the
                                        value of the "vnfdId" attribute) was
                                        modified implicitly during the related
                                        operation, and contains a copy of the
                                        value of the related attribute from the
                                        VNFD in the VNF Package identified by
                                        the "vnfdId" attribute.
                                      type: string
                                    vnfSoftwareVersion:
                                      description: >
                                        A Version. Representation: string of
                                        variable length.
                                      type: string
                                    vnfdVersion:
                                      description: >
                                        A Version. Representation: string of
                                        variable length.
                                      type: string
                      affectedPnfs:
                        description: >
                          Information about the PNF instances that were affected
                          during the lifecycle operation, if this notification
                          represents the result of a lifecycle operation. See
                          note 1.
                        type: array
                        items:
                          description: >
                            This type provides information about added, deleted
                            and modified PNFs.  It shall comply with the
                            provisions in Table 6.5.3.3-1.
                          type: object
                          required:
                            - pnfId
                            - pnfdId
                            - pnfProfileId
                            - cpInstanceId
                          properties:
                            pnfId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            pnfdId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            pnfProfileId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            pnfName:
                              description: |
                                Name of the PNF.
                              type: string
                            cpInstanceId:
                              description: |
                                Identifier of the CP in the scope of the PNF.
                              type: array
                              items:
                                description: >
                                  An Identifier that is unique within respect to
                                  a PNF. Representation: string of variable
                                  length.
                                type: string
                            changeType:
                              description: >
                                Signals the type of change. Permitted values: -
                                ADD - REMOVE - MODIFY
                              type: string
                              enum:
                                - ADD
                                - REMOVE
                                - MODIFY
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: -
                                COMPLETED - ROLLED_BACK - FAILED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                      affectedVls:
                        description: >
                          Information about the VL instances that were affected
                          during the lifecycle operation, if this notification
                          represents the result of a lifecycle operation. See
                          note 1.
                        type: array
                        items:
                          description: "This type provides information about added, deleted, modified and temporary VLs. NOTE:\tThe resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n"
                          type: object
                          required:
                            - nsVirtualLinkInstanceId
                            - nsVirtualLinkDescId
                            - vlProfileId
                            - changeType
                            - changeResult
                          properties:
                            nsVirtualLinkInstanceId:
                              description: >
                                An identifier that is unique with respect to a
                                NS. Representation: string of variable length.
                              type: string
                            nsVirtualLinkDescId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            vlProfileId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            changeType:
                              description: >
                                Signals the type of change. Permitted values: *
                                ADD * DELETE * MODIFY * ADD_LINK_PORT *
                                REMOVE_LINK_PORT
                              type: string
                              enum:
                                - ADD
                                - DELETE
                                - MODIFY
                                - ADD_LINK_PORT
                                - REMOVE_LINK_PORT
                            linkPortIds:
                              description: >
                                Identifiers of the link ports of the affected VL
                                related to the change. Each identifier
                                references an "NsLinkPortInfo" structure.

                                Shall be set when changeType is equal to
                                "ADD_LINK_PORT" or "REMOVE_LINK_PORT", and the
                                related "NsLinkPortInfo" structures are present
                                (case "add") or have been present (case
                                "remove") in the "NsVirtualLinkInfo" structure
                                that is represented by the "virtualLink¬Info"
                                attribute in the "NsInstance" structure. See
                                note.
                              type: array
                              items:
                                description: >
                                  An identifier that is unique with respect to a
                                  NS. Representation: string of variable length.
                                type: string
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: *
                                COMPLETED * ROLLED_BACK * FAILED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                      affectedVnffgs:
                        description: >
                          Information about the VNFFG instances that were
                          affected during the lifecycle operation, if this
                          notification represents the result of a lifecycle
                          operation. See note 1.
                        type: array
                        items:
                          description: >
                            This type provides information about added, deleted
                            and modified VNFFG instances. It shall comply with
                            the provisions in Table 6.5.3.5-1.
                          type: object
                          required:
                            - vnffgInstanceId
                            - vnffgdId
                          properties:
                            vnffgInstanceId:
                              description: >
                                An identifier that is unique with respect to a
                                NS. Representation: string of variable length.
                              type: string
                            vnffgdId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            changeType:
                              description: >
                                Signals the type of change. Permitted values: -
                                ADD - DELETE - MODIFY
                              type: string
                              enum:
                                - ADD
                                - DELETE
                                - MODIFY
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: -
                                COMPLETED - ROLLED_BACK - FAILED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                      affectedNss:
                        description: >
                          Information about the nested NS instances that were
                          affected during the lifecycle operation, if this
                          notification represents the result of a lifecycle
                          operation. See note 1.
                        type: array
                        items:
                          description: >
                            This type provides information about added, deleted
                            and modified nested NSs. It shall comply with the
                            provisions in Table 6.5.3.6-1.
                          type: object
                          required:
                            - nsInstanceId
                            - nsdId
                            - changeType
                            - changeResult
                          properties:
                            nsInstanceId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            nsdId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            changeType:
                              description: >
                                Signals the type of lifecycle change. Permitted
                                values: - ADD - REMOVE - INSTANTIATE - SCALE -
                                UPDATE - HEAL - TERMINATE
                              type: string
                              enum:
                                - ADD
                                - REMOVE
                                - INSTANTIATE
                                - SCALE
                                - UPDATE
                                - HEAL
                                - TERMINATE
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: -
                                COMPLETED - ROLLED_BACK - FAILED -
                                PARTIALLY_COMPLETED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                                - PARTIALLY_COMPLETED
                            changedInfo:
                              description: >
                                Information about the changed NS instance
                                information, if applicable.
                              type: object
                              properties:
                                wanConnectionInfoModifications:
                                  description: >
                                    Information about the modified WAN related
                                    connectivity information, if applicable.
                                  type: array
                                  items:
                                    description: >
                                      This type represents attribute
                                      modifications that were performed on WAN
                                      connection information. The attributes
                                      that can be included consist of those
                                      requested to be modified explicitly with
                                      the "UpdateNsRequest" data structure. It
                                      shall comply with the provisions defined
                                      in table 6.5.3.93-1.
                                    type: object
                                    required:
                                      - wanConnectionInfoId
                                    properties:
                                      wanConnectionInfoId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      mscsName:
                                        description: >
                                          If present, this attribute signals
                                          modifications of the "mscsName"
                                          attribute in "MscsInfo" as defined in
                                          clause 6.5.3.82.
                                        type: string
                                      mscsDescription:
                                        description: >
                                          If present, this attribute signals
                                          modifications of the "mscsDescription"
                                          attribute in "MscsInfo" as defined in
                                          clause 6.5.3.82.
                                        type: string
                                      mscsEndpoints:
                                        description: >
                                          If present, this attribute signals
                                          modifications of certain entries in the
                                          "mscsEndpoints" attribute array in
                                          "MscsInfo", as defined in clause
                                          6.5.3.82.
                                        type: array
                                        items:
                                          description: >
                                            This type provides encapsulates
                                            information about an MSCS endpoint of
                                            the MSCS. It shall comply with the
                                            provisions defined in table 6.5.3.83-1.
                                          type: object
                                          required:
                                            - mscsEndpointId
                                            - directionality
                                            - connectivityServiceEndpoinId
                                          properties:
                                            mscsEndpointId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            directionality:
                                              description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                              type: string
                                              enum:
                                                - INBOUND
                                                - OUTBOUND
                                                - BOTH
                                            connectivityServiceEndpoinId:
                                              description: >
                                                References the connectivity service
                                                endpoint configuration information
                                                applicable to support the MSCS endpoint.
                                                More than one connectivity service
                                                endpoint can be referred when endpoints
                                                are in LAG mode.
                                              type: array
                                              items:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                      removeMscsEndpointIds:
                                        description: >
                                          If present, this attribute signals the
                                          deletion of certain entries in the
                                          "mscsEndpoints" attribute array in
                                          "MscsInfo", as defined in clause
                                          6.5.3.82.
                                        type: array
                                        items:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                      connectivityServiceEndpoints:
                                        description: >
                                          If present, this attribute signals
                                          modifications of certain entries in the
                                          "connectivityServiceEndpoints" attribute
                                          array in "WanConnectionProtocolInfo", as
                                          defined in clause 6.5.3.91.
                                        type: array
                                        items:
                                          description: >
                                            This type provides configuration data
                                            for the NFVI-PoP network gateway
                                            providing connectivity service
                                            endpoints. The connectivity service
                                            endpoints are used as endpoints by an
                                            MSCS. It shall comply with the
                                            provisions defined in Table 6.5.3.84-1.
                                          type: object
                                          required:
                                            - connectivityServiceEndpointId
                                            - vimId
                                          properties:
                                            connectivityServiceEndpointId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            siteToWanLayer2ProtocolData:
                                              description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                              type: object
                                              required:
                                                - layer2ConnectionInfo
                                              properties:
                                                layer2ConnectionInfo:
                                                  description: >
                                                    Layer 2 protocol parameters of the
                                                    connectivity service endpoint (CSE).
                                                  type: object
                                                  required:
                                                    - connectionType
                                                    - interfaceType
                                                    - interfaceTagging
                                                    - encapsulationType
                                                  properties:
                                                    connectionType:
                                                      description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                                      type: string
                                                      enum:
                                                        - CSE
                                                        - AGGREGATE_CSE
                                                    interfaceType:
                                                      description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                                      type: string
                                                      enum:
                                                        - PARENT
                                                        - LOGICAL
                                                    interfaceTagging:
                                                      description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                                      type: string
                                                      enum:
                                                        - UNTAGGED
                                                        - TAGGED
                                                    encapsulationType:
                                                      description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                                      type: string
                                                      enum:
                                                        - ETH
                                                        - VLAN
                                                        - VXLAN
                                                    vlanTaggingType:
                                                      description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                                      type: string
                                                      enum:
                                                        - DOT1Q
                                                        - QINQ
                                                        - QINANY
                                                    wanSegmentIds:
                                                      description: >
                                                        Segment identifiers to pass on the
                                                        tagged interface. Shall be present if
                                                        encapsulationType="VLAN" or “VXLAN".
                                                      type: object
                                                      required:
                                                        - wanSegmentIdValue
                                                      properties:
                                                        wanSegmentIdValue:
                                                          description: >
                                                            Identifier of the network segment (e.g.,
                                                            VLAN id or VNI).
                                                          type: string
                                                        wanSegmentIdUpperRange:
                                                          description: >
                                                            Identifier of the upper range network
                                                            segment, in case the "wanSegmentIds" is
                                                            used to define a range.
                                                          type: string
                                                    vxlanConfig:
                                                      description: >
                                                        Additional configuration needed when
                                                        using VXLAN encapsulation. Shall be
                                                        present if interfaceTagging="TAGGED" and
                                                        encapsulationType="VXLAN".
                                                      type: object
                                                      required:
                                                        - peerMode
                                                      properties:
                                                        peerMode:
                                                          description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                                          type: string
                                                          enum:
                                                            - STATIC
                                                            - BGP_EVPN
                                                        peers:
                                                          description: >
                                                            List of IP addresses of VTEP peers when
                                                            using static mode.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                    lagInterfaceData:
                                                      description: >
                                                        Information for setting up a LAG
                                                        interface aggregating multiple
                                                        connectivity service endpoints.
                                                      type: object
                                                      required:
                                                        - aggregatedEndpoints
                                                        - lacpActivation
                                                        - lacpConfig
                                                      properties:
                                                        aggregatedEndpoints:
                                                          description: >
                                                            List of the connectivity service
                                                            endpoints that are to be aggregated.
                                                            Shall be present if
                                                            connectionType="AGGREGATE_CSE". In case
                                                            of aggregating connectivity service
                                                            endpoints, only one
                                                            SiteToWanLayer2ProtocolData shall be
                                                            provided for the whole set of aggregated
                                                            endpoints.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An identifier with the intention of
                                                              being globally unique.
                                                            type: string
                                                        lacpActivation:
                                                          description: >
                                                            Indicates whether to activate LACP on
                                                            the interface. If "TRUE", the LACP is to
                                                            be activated, or "FALSE" otherwise.
                                                            Default value is "FALSE".
                                                          type: boolean
                                                        lacpConfig:
                                                          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
                                                    layer2ControlProtocol:
                                                      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
                                                mtuL2:
                                                  description: >
                                                    Maximum Transmission Unit (MTU) that can
                                                    be forwarded at layer 2 (in bytes).
                                                    Default value is "1500" (bytes).
                                                  type: number
                                                virtualRoutingAndForwarding:
                                                  description: >
                                                    Configuration related to the L2 virtual
                                                    routing and forwarding (MAC-VRF).
                                                  type: object
                                                  required:
                                                    - macVrfName
                                                  properties:
                                                    macVrfName:
                                                      description: >
                                                        Name (or identifier) of the MAC-VRF
                                                        instance.
                                                      type: string
                                                forwardingConfig:
                                                  description: >
                                                    Information related to the forwarding of
                                                    the VN in the NFVI-PoP to the
                                                    connectivity service endpoint, if
                                                    information about the VN to "stitch" is
                                                    already known. . by the OSS/BSS. Shall
                                                    not be provided otherwise, in which case
                                                    the NFVO will infer the forwarding
                                                    configuration based on the NS VL, or
                                                    external VL, or externally-managed VL
                                                    provisioning.
                                                  type: object
                                                  oneOf:
                                                    - required:
                                                        - networkResources
                                                    - required:
                                                        - vnSegmentIds
                                                  properties:
                                                    networkResources:
                                                      description: >
                                                        Reference to the VN resource to be
                                                        forwarded into/from the MSCS. See note.
                                                      type: array
                                                      items:
                                                        description: >
                                                          This type represents the information
                                                          that allows addressing a virtualised
                                                          resource that is used by a VNF instance
                                                          or by an NS instance. Information about
                                                          the resource is available from the VIM.
                                                          NOTE: The value set of the
                                                          "vimLevelResourceType" attribute is
                                                          within the scope of the VIM, the WIM or
                                                          the resource provider and can be used as
                                                          information that complements the
                                                          ResourceHandle.
                                                        type: object
                                                        required:
                                                          - resourceId
                                                        properties:
                                                          vimId:
                                                            description: >
                                                              An identifier with the intention of
                                                              being globally unique.
                                                            type: string
                                                          resourceProviderId:
                                                            description: >
                                                              An identifier with the intention of
                                                              being globally unique.
                                                            type: string
                                                          resourceId:
                                                            description: >
                                                              An identifier maintained by the VIM or
                                                              other resource provider. It is expected
                                                              to be unique within the VIM instance.
                                                              Representation: string of variable
                                                              length.
                                                            type: string
                                                          vimLevelResourceType:
                                                            description: >
                                                              Type of the resource in the scope of the
                                                              VIM, the WIM or the resource provider.
                                                              The value set of the
                                                              "vimLevelResourceType" attribute is
                                                              within the scope of the VIM, the WIM or
                                                              the resource provider and can be used as
                                                              information that complements the
                                                              ResourceHandle. See note.
                                                            type: string
                                                    vnSegmentIds:
                                                      description: >
                                                        Identifiers of the network segments of
                                                        the VN resources to be forwarded
                                                        into/from the MSCS.
                                                      type: object
                                                      required:
                                                        - vnSegmentIdValue
                                                      properties:
                                                        vnSegmentIdValue:
                                                          description: |
                                                            Identifier of the network segment.
                                                          type: string
                                                        vnSegmentIdUpperRange:
                                                          description: >
                                                            Identifier of the upper range network
                                                            segment, in case the "vnSegmentIds" is
                                                            used to define a range.
                                                          type: string
                                            siteToWanLayer3ProtocolData:
                                              description: >
                                                This type provides information about
                                                Layer 3 protocol specific information
                                                for the stitching of the intra-site VN
                                                to the multi-site connectivity service
                                                over the WAN. It shall comply with the
                                                provisions defined in Table 6.5.3.86-1.
                                              type: object
                                              required:
                                                - routingInfo
                                              properties:
                                                logicalInterfaceIpAddress:
                                                  description: >
                                                    IP addressing information associated to
                                                    a logical interface. Shall be present if
                                                    the "interfaceType" of the
                                                    SiteToWanLayer2ProtocolData is equal to
                                                    "LOGICAL".
                                                  type: object
                                                  required:
                                                    - ipAddress
                                                    - associatedSegmentId
                                                  properties:
                                                    ipAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    associatedSegmentId:
                                                      description: >
                                                        The associated segment identifier that
                                                        has triggered the creation of the
                                                        logical interface. The value shall be
                                                        one of the values listed in the
                                                        "wanSegmentIds" of the
                                                        "siteToWanLayer2ProtocolData".
                                                      type: string
                                                routingInfo:
                                                  description: >
                                                    The routing information that is
                                                    activated on the connectivity service
                                                    endpoint. More than one "routingInfo" is
                                                    allowed to enable stacking different
                                                    routing protocols (e.g., one routing
                                                    protocol for IPv4 and another one for
                                                    IPv6).
                                                  type: object
                                                  required:
                                                    - routingProtocol
                                                    - routingAddressFamily
                                                  properties:
                                                    routingProtocol:
                                                      description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                                      type: string
                                                      enum:
                                                        - BGP
                                                        - RIP
                                                        - OSPF
                                                        - STATIC
                                                        - DIRECT
                                                        - VRRP
                                                    staticRouting:
                                                      description: >
                                                        Defines a static route. It shall only be
                                                        present if the routingProtocol="STATIC".
                                                      type: object
                                                      required:
                                                        - ipVersion
                                                        - ipPrefix
                                                        - prefixSize
                                                        - nextHop
                                                      properties:
                                                        ipVersion:
                                                          description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        ipPrefix:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        prefixSize:
                                                          description: |
                                                            The IP prefix size.
                                                          type: number
                                                        nextHop:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                    routingAddressFamily:
                                                      description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                                      type: string
                                                      enum:
                                                        - IPV4
                                                        - IPv6
                                                    ospfRouting:
                                                      description: >
                                                        Defines parameters for OSPF routing. It
                                                        shall only be present if the
                                                        routingProtocol="OSPF".
                                                      type: object
                                                      required:
                                                        - areaId
                                                      properties:
                                                        areaId:
                                                          description: >
                                                            The routing area identifier, e.g., a
                                                            number or an IP address.
                                                          type: string
                                                    bgpRouting:
                                                      description: >
                                                        Defines parameters for BGP routing. It
                                                        shall only be present if the
                                                        routingProtocol="BGP".
                                                      type: object
                                                      required:
                                                        - bgpAs
                                                      properties:
                                                        bgpAs:
                                                          description: >
                                                            The Autonomous System (AS)
                                                            identification applicable to the BGP
                                                            routing info entry.
                                                          type: object
                                                        bgpNeighbour:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        bgpAdditionalParam:
                                                          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
                                                    routeMapsDistribution:
                                                      description: >
                                                        Maps of routes that are permitted or
                                                        denied for redistribution.
                                                      type: object
                                                      required:
                                                        - policy
                                                        - sequence
                                                        - matchAndSetRule
                                                      properties:
                                                        policy:
                                                          description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                                          type: string
                                                          enum:
                                                            - PERMIT
                                                            - DENY
                                                        sequence:
                                                          description: >
                                                            Sequence or index number assigned to the
                                                            route-map.
                                                          type: number
                                                        matchAndSetRule:
                                                          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
                                                mtuL3:
                                                  description: >
                                                    Maximum Transmission Unit (MTU) that can
                                                    be forwarded at layer 3 (in bytes).
                                                    Default value is "1500" (bytes).
                                                  type: number
                                                virtualRoutingAndForwarding:
                                                  description: >
                                                    Configuration related to the virtual
                                                    routing and forwarding (VRF).
                                                  type: object
                                                  required:
                                                    - vrfName
                                                  properties:
                                                    vrfName:
                                                      description: >
                                                        Name (or identifier) of the VRF
                                                        instance.
                                                      type: string
                                                bfdConfig:
                                                  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
                                      removeConnectivityServiceEndpoints:
                                        description: >
                                          If present, this attribute signals the
                                          deletion of certain entries in the
                                          "connectivityServiceEndpoints" attribute
                                          array in "WanConnectionProtocolInfo", as
                                          defined in clause 6.5.3.91.
                                        type: array
                                        items:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                      affectedSaps:
                        description: >
                          Information about the nested NS instances that were
                          affected during the lifecycle operation, if this
                          notification represents the result of a lifecycle
                          operation. See note 1.
                        type: array
                        items:
                          description: >
                            This type provides information about added, deleted
                            and modified SAP of a NS. It shall comply with the
                            provisions in Table 6.5.3.7-1.
                          type: object
                          required:
                            - sapInstanceId
                            - sapdId
                          properties:
                            sapInstanceId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            sapdId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            sapName:
                              description: |
                                Human readable name for the SAP.
                              type: string
                            changeType:
                              description: >
                                Signals the type of lifecycle change. Permitted
                                values: - ADD - REMOVE - MODIFY
                              type: string
                              enum:
                                - ADD
                                - REMOVE
                                - MODIFY
                            changeResult:
                              description: >
                                Signals the result of change identified by the
                                "changeType" attribute. Permitted values: -
                                COMPLETED - ROLLED_BACK - FAILED
                              type: string
                              enum:
                                - COMPLETED
                                - ROLLED_BACK
                                - FAILED
                  lcmCoordinations:
                    description: >
                      Information about LCM coordination actions (see clause 12)
                      related to this LCM operation occurrence.
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - coordinationActionName
                        - startTime
                        - endpointType
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        coordinationActionName:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        coordinationResult:
                          description: >
                            The enumeration LcmCoordResultType defines the
                            permitted values to represent the result 

                            of executing an LCM coordination action. The
                            coordination result also implies the action 

                            to be performed by the NFVO as the follow-up to this
                            coordination. The LcmCoordResultType 

                            shall comply with the provisions defined in table
                            12.5.4.3.-1.


                            - CONTINUE: The related LCM operation shall be
                            continued, staying in the state "PROCESSING".

                            - ABORT: The related LCM operation shall be aborted
                            by transitioning into the state "FAILED_TEMP".

                            - CANCELLED: The coordination action has been
                            cancelled upon request of the API consumer, 
                                         i.e. the NFVO. The related LCM operation shall be aborted by transitioning into 
                                         the state "FAILED_TEMP".
                          type: string
                          enum:
                            - CONTINUE
                            - ABORT
                            - CACELLED
                        startTime:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        endTime:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        endpointType:
                          description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                          type: string
                          enum:
                            - MGMT
                        delay:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                  rejectedLcmCoordinations:
                    description: >
                      Information about LCM coordination actions (see clause 12)
                      that were rejected by 503 error which means they can be
                      tried again after a delay. See note 3.
                    type: array
                    items:
                      type: object
                      required:
                        - coordinationActionName
                        - rejectionTime
                        - endpointType
                        - delay
                      properties:
                        coordinationActionName:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        rejectionTime:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        endpointType:
                          description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                          type: string
                          enum:
                            - MGMT
                        delay:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                  warnings:
                    description: >
                      Warning messages that were generated while the operation
                      was executing.

                      If the operation has included VNF LCM operations or NS LCM
                      coordination actions and these have resulted in warnings,
                      such warnings should be added to this attribute.
                    type: array
                    items:
                      type: string
                  _links:
                    description: |
                      Links to resources related to this resource.
                    type: object
                    required:
                      - self
                      - nsInstance
                    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
                      nsInstance:
                        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
                      cancel:
                        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
                      retry:
                        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
                      rollback:
                        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
                      continue:
                        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
                      fail:
                        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


            Shall be returned upon the following error: The API producer did not
            find a current representation for the

            target resource or is not willing to disclose that one exists.

            The general cause for this error and its handling is specified in
            clause 6.4 of ETSI GS NFV-SOL 013 [16],

            including rules for the presence of the response body.

            Specifically in case of this task resource, the response code 404
            shall also be returned if the task is not

            supported for the NS LCM operation occurrence represented by the
            parent resource, which means that the task resource consequently
            does not exist.

            In this case, the response body shall be present, and shall contain
            a ProblemDetails structure, in which the

            "detail" attribute shall convey more information about the error.
          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:
                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


            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a conflict with

            the state of the NS LCM operation occurrence resource.

            Typically, this is due to the fact that the NS LCM operation
            occurrence is not in FAILED_TEMP state, or another

            error handling action is starting, such as retry or rollback.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey more

            information about the error.
          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:
                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
  '/nslcm/v1/ns_lcm_op_occs/{nsLcmOpOccId}/cancel':
    parameters:
      - name: nsLcmOpOccId
        in: path
        description: |
          Identifier of a NS lifecycle management operation occurrence.
        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:
      description: >
        The POST method initiates cancelling an ongoing NS lifecycle management
        operation while it is being executed

        or rolled back, i.e. the related "NS LCM operation occurrence" is either
        in "PROCESSING" or "ROLLING_BACK" state.

        See clause 6.4.15.3.1.
      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: >
          The POST request to this resource shall include a CancelMode structure
          in the payload body to choose between

          "graceful" and "forceful" cancellation.
        content:
          application/json:
            schema:
              description: >
                This type represents a parameter to select the mode of canceling
                an ongoing NS LCM operation occurrence.  It shall comply with
                the provisions defined in Table 6.5.2.16-1.
              type: object
              required:
                - cancelMode
              properties:
                cancelMode:
                  description: >
                    Cancellation mode.

                    The NFVO shall not start any new VNF lifecycle management
                    and resource management operation, and shall wait for the
                    ongoing VNF lifecycle management and resource management
                    operations in the underlying system, typically the VNFM and
                    VIM, to finish execution or to time out. After that, the
                    NFVO shall put the operation occurrence into the FAILED_TEMP
                    state.

                    The NFVO shall not start any new VNF lifecycle management
                    and resource management operation, shall cancel the ongoing
                    VNF lifecycle management and resource management operations
                    in the underlying system, typically the VNFM and VIM, and
                    shall wait for the cancellation to finish or to time out.
                    After that, the NFVO shall put the operation occurrence into
                    the FAILED_TEMP state.
                  type: string
                  enum:
                    - GRACEFUL
                    - FORCEFUL
        required: true
      responses:
        '202':
          description: >
            202 ACCEPTED


            Shall be returned when the request has been accepted for processing,
            but processing has not been completed.

            The response shall have an empty entity body.
          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


            Shall be returned upon the following error: The API producer did not
            find a current representation for the

            target resource or is not willing to disclose that one exists.

            The general cause for this error and its handling is specified in
            clause 6.4 of ETSI GS NFV-SOL 013 [16],

            including rules for the presence of the response body.

            Specifically, in case of this task resource, the response code 404
            shall also be returned if the task is not

            supported for the NS LCM operation occurrence represented by the
            parent resource, which means that the task resource consequently
            does not exist.

            In this case, the response body shall be present, and shall contain
            a ProblemDetails structure, in which the

            "detail" attribute shall convey more information about the error.
          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: >
                  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


            Shall be returned upon the following error: The operation cannot be
            executed currently, due to a conflict

            with the state of the NS LCM operation occurrence resource.

            Typically, this is due to the fact that the operation occurrence is
            not in STARTING, PROCESSING or ROLLING_BACK state.

            The response body shall contain a ProblemDetails structure, in which
            the "detail" attribute shall convey more

            information about the error.
          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: >
                  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:
      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. See
        clause 6.4.16.3.2.
      parameters:
        - in: query
          name: filter
          description: >
            Attribute-based filtering expression according to clause 5.2 of ETSI
            GS NFV SOL 013. The NFVO shall support receiving this parameter as
            part of the URI query string.  The OSS/BSS may supply this
            parameter. All attribute names that appear in the LccnSubscription
            and in data types referenced  from it shall be supported by the NFVO
            in the filter expression.
          schema:
            type: string
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be
            supported by the NFVO if the NFVO 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 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 lifecycle change
            notification subscriptions as defined in

            clause 6.5.2.4. If the "filter" URI parameter was supplied in the
            request, the data in the response body

            shall have been transformed according to the rules specified in
            clause 5.2.2 of ETSI GS NFV-SOL 013 [16].

            If the NFVO supports alternative 2 (paging) according to clause
            5.4.2.1 of ETSI GS NFV-SOL 013 [16] 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 [16].
          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
            Link:
              description: >
                Reference to other resources. Used for paging in the present
                document, see clause 4.7.2.1.
              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: array
                items:
                  description: >
                    This type represents a subscription related to notifications
                    about NS lifecycle changes.  It shall comply with the
                    provisions defined in Table 6.5.2.4-1.
                  type: object
                  required:
                    - id
                    - callbackUri
                    - _links
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    filter:
                      description: "This type represents a subscription filter related to notifications about  NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n"
                      type: object
                      properties:
                        nsInstanceSubscriptionFilter:
                          description: >
                            This type represents subscription filter criteria to
                            match NS instances.

                            NOTE 1: The attributes "nsdIds", "vnfdIds" and
                            "pnfdIds" are alternatives to reference to NS
                            instances that are created based on certain NSDs, or
                            contain VNF instances that are based on certain
                            VNFDs, or contain PNFs that are based on certain
                            PNFDs in a filter. They should not be used together
                            in the same filter instance, but one alternative
                            should be chosen.

                            NOTE 2: The attributes "nsInstanceIds" and
                            "nsInstanceNames" are alternatives to reference to
                            particular NS Instances in a filter. They should not
                            be used both in the same filter instance, but one
                            alternative should be chosen.
                          type: object
                          anyOf:
                            - oneOf:
                                - required:
                                    - nsdIds
                                - required:
                                    - vnfdIds
                                - required:
                                    - pnfdIds
                            - oneOf:
                                - required:
                                    - nsInstanceIds
                                - required:
                                    - nsInstanceNames
                          properties:
                            nsdIds:
                              description: >
                                If present, match NS instances that were created
                                based on a NSD identified by one of the nsdId
                                values listed in this attribute. See note 1.
                              type: array
                              items:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                            vnfdIds:
                              description: >
                                If present, match NS instances that contain VNF
                                instances that were created based on a VNFD
                                identified by one of the vnfdId values listed in
                                this attribute. See note 1.
                              type: array
                              items:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                            pnfdIds:
                              description: >
                                If present, match NS instances that contain PNFs
                                that are represented by a PNFD identified by one
                                of the pnfdId values listed in this attribute.
                                See note 1.
                              type: array
                              items:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                            nsInstanceIds:
                              description: >
                                If present, match NS instances with an instance
                                identifier listed in this attribute. See note 2.
                              type: array
                              items:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                            nsInstanceNames:
                              description: >
                                If present, match NS instances with a NS
                                Instance Name listed in this attribute. See note
                                2.
                              type: array
                              items:
                                description: |
                                  A string as defined in IETF RFC 8259.
                                type: string
                        notificationTypes:
                          description: "Match particular notification types. Permitted values: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification -\tNsLcmCapacityShortageNotification - NsChangeNotification\nSee note.\n"
                          type: array
                          items:
                            type: string
                            enum:
                              - NsLcmOperationOccurenceNotification
                              - NsIdentifierCreationNotification
                              - NsIdentifierDeletionNotification
                              - NsChangeNotification
                        operationTypes:
                          description: >
                            Match particular NS lifecycle operation types for
                            the notification of type
                            NsLcmOperationOccurrenceNotification. May be present
                            if the "notificationTypes" attribute contains the
                            value "NsLcmOperationOccurrenceNotification", and
                            shall be absent otherwise.
                          type: array
                          items:
                            description: >
                              The enumeration NsLcmOpType represents those
                              lifecycle operations that trigger a NS lifecycle
                              management operation occurrence notification.
                              Value | Description ------|------------
                              INSTANTIATE | Represents the "Instantiate NS" LCM
                              operation. SCALE | Represents the "Scale NS" LCM
                              operation. UPDATE | Represents the "Update NS" LCM
                              operation. TERMINATE | Represents the "Terminate
                              NS" LCM operation. HEAL | Represents the "Heal NS"
                              LCM operation.
                            type: string
                            enum:
                              - INSTANTIATE
                              - SCALE
                              - UPDATE
                              - TERMINATE
                              - HEAL
                        operationStates:
                          description: >
                            Match particular LCM operation state values as
                            reported in notifications of type
                            NsLcmOperationOccurrenceNotification. May be present
                            if the "notificationTypes" attribute contains the
                            value "NsLcmOperationOccurrenceNotification", and
                            shall be absent otherwise.
                          type: array
                          items:
                            description: >
                              Value | Description ------|------------ PROCESSING
                              | The LCM operation is currently in execution.
                              COMPLETED | The LCM operation has been completed
                              successfully. PARTIALLY_COMPLETED | The LCM
                              operation has been partially completed with
                              accepTable errors. FAILED_TEMP | The LCM operation
                              has failed and execution has stopped, but the
                              execution of the operation is not considered to be
                              closed. FAILED | The LCM operation has failed and
                              it cannot be retried or rolled back, as it is
                              determined that such action will not succeed.
                              OLLING_BACK | The LCM operation is currently being
                              rolled back. ROLLED_BACK | The LCM operation has
                              been successfully rolled back, i.e. The state of
                              the NS prior to the original operation invocation
                              has been restored as closely as possible.
                            type: string
                            enum:
                              - PROCESSING
                              - COMPLETED
                              - PARTIALLY_COMPLETED
                              - FAILED_TEMP
                              - FAILED
                              - ROLLING_BACK
                              - ROLLED_BACK
                        affectedNsInstanceIds:
                          description: >
                            Match particular identifiers of the NS instance(s)
                            related to the operation occurrence that were
                            affected by the shortage as reported in
                            notifications of type
                            NsLcmCapacityShortageNotification. May be present if
                            the "notificationTypes" attribute contains the value
                            "NsLcmCapacityShortageNotification", and shall be
                            absent otherwise.
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        nsComponentTypes:
                          description: >
                            Match particular NS component types for the
                            notification of type NsChangeNotification. May be
                            present if the "notificationTypes" attribute
                            contains the value "NsChang.
                          type: array
                          items:
                            description: >
                              The enumeration NsComponentType represents the NS
                              component type. It shall comply with the
                              provisions defined in Table 6.5.4.5-1. Value |
                              Description ------|------------ VNF | Represents
                              the impacted NS component is a VNF. PNF |
                              Represents the impacted NS component is a PNF. NS
                              | Represents the impacted NS component is a nested
                              NS.
                            type: string
                            enum:
                              - VNF
                              - PNF
                              - NS
                        lcmOpNameImpactingNsComponent:
                          description: >
                            Match particular LCM operation names for the
                            notification of type NsChangeNotification. May be
                            present if the "notificationTypes" attribute
                            contains the value "NsChangeNotification", and shall
                            be absent otherwise.
                          type: array
                          items:
                            description: >
                              The enumeration LcmOpNameForChangeNotificationType
                              represents the name of the lifecycle operation
                              that impacts the NS component and trigger an NS
                              change notification. It shall comply with the
                              provisions defined in Table 6.5.4.6-1. Value |
                              Description ------|------------ VNF_INSTANTIATE |
                              Represents the "Instantiate VNF" LCM operation.
                              VNF_SCALE | Represents the "Scale VNF" LCM
                              operation. VNF_SCALE_TO_LEVEL | Represents the
                              "Scale VNF to Level" LCM operation.
                              VNF_CHANGE_FLAVOUR | Represents the "Change VNF
                              Flavor" LCM operation. VNF_TERMINATE | Represents
                              the "Terminate VNF" LCM operation. VNF_HEAL |
                              Represents the "Heal VNF" LCM operation.
                              VNF_OPERATE | Represents the "Operate VNF" LCM
                              operation. VNF_CHANGE_EXT_CONN | Represents the
                              "Change external VNF connectivity" LCM operation.
                              VNF_MODIFY_INFO | Represents the "Modify VNF
                              Information" LCM operation.           
                              NS_INSTANTIATE | Represents the "Instantiate NS"
                              LCM operation NS_SCALE | Represents the "Scale NS"
                              LCM operation. NS_UPDATE | Represents the "Update
                              NS" LCM operation. NS_TERMINATE | Represents the
                              "Terminate NS" LCM operation. NS_HEAL | Represents
                              the "Heal NS" LCM operation.
                            type: string
                            enum:
                              - VNF_INSTANTIATE
                              - VNF_SCALE
                              - VNF_SCALE_TO_LEVEL
                              - VNF_CHANGE_FLAVOUR
                              - VNF_TERMINATE
                              - VNF_HEAL
                              - VNF_OPERATE
                              - VNF_CHANGE_EXT_CONN
                              - VNF_MODIFY_INFO
                              - VNF_CREATE_SNAPSHOT
                              - VNF_REVERT_TO_SNAPSHOT
                              - VNF_CHANGE_VNFPKG
                              - NS_INSTANTIATE
                              - NS_SCALE
                              - NS_UPDATE
                              - NS_TERMINATE
                              - NS_HEAL
                        lcmOpOccStatusImpactingNsComponent:
                          description: >
                            Match particular LCM operation status values as
                            reported in notifications of type
                            NsChangeNotification. May be present if the
                            "notificationTypes" attribute contains the value
                            "NsChangeNotification", and shall be absent
                            otherwise.
                          type: array
                          items:
                            description: "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue                   | Description VNF_INSTANTIATE\t        Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t                Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t    Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t    Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t            Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t                Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t            Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t    Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t        Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t    Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t        Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t        Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t                Represents the \"Scale NS\" LCM operation. NS_UPDATE\t                Represents the \"Update NS\" LCM operation. NS_TERMINATE\t            Represents the \"Terminate NS\" LCM operation. NS_HEAL\t                Represents the \"Heal NS\" LCM operation.\n"
                            type: string
                            enum:
                              - VNF_INSTANTIATE
                              - VNF_SCALE
                              - VNF_SCALE_TO_LEVEL
                              - VNF_CHANGE_FLAVOUR
                              - VNF_TERMINATE
                              - VNF_HEAL
                              - VNF_OPERATE
                              - VNF_CHANGE_EXT_CONN
                              - VNF_MODIFY_INFO
                              - VNF_CREATE_SNAPSHOT
                              - VNF_REVERT_TO_SNAPSHOT
                              - VNF_CHANGE_VNFPKG
                              - NS_INSTANTIATE
                              - NS_SCALE
                              - NS_UPDATE
                              - NS_TERMINATE
                              - NS_HEAL
                    callbackUri:
                      description: |
                        String formatted according to IETF RFC 3986.
                      type: string
                      format: uri
                    verbosity:
                      description: >
                        The enumeration LcmOpOccNotificationVerbosityType
                        provides values to control the verbosity of LCM
                        operation occurrence notifications. It shall comply with
                        the provisions defined in table 6.5.4.11-1. * FULL: This
                        signals a full notification which contains all change
                        details. * SHORT: This signals a short notification
                        which omits large-volume change details to reduce the
                        size of data to
                                 be sent via the notification mechanism.
                      type: string
                      enum:
                        - FULL
                        - SHORT
                    _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:
      description: |
        The POST method creates a new subscription. See clause 6.4.16.3.1.
      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, as defined in clause
          6.5.2.2.
        content:
          application/json:
            schema:
              description: >
                This type represents a subscription request related to
                notifications  about NS lifecycle changes. It shall comply with
                the provisions defined in Table 6.5.2.2-1..
              type: object
              required:
                - callbackUri
              properties:
                filter:
                  description: "This type represents a subscription filter related to notifications about  NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n"
                  type: object
                  properties:
                    nsInstanceSubscriptionFilter:
                      description: >
                        This type represents subscription filter criteria to
                        match NS instances.

                        NOTE 1: The attributes "nsdIds", "vnfdIds" and "pnfdIds"
                        are alternatives to reference to NS instances that are
                        created based on certain NSDs, or contain VNF instances
                        that are based on certain VNFDs, or contain PNFs that
                        are based on certain PNFDs in a filter. They should not
                        be used together in the same filter instance, but one
                        alternative should be chosen.

                        NOTE 2: The attributes "nsInstanceIds" and
                        "nsInstanceNames" are alternatives to reference to
                        particular NS Instances in a filter. They should not be
                        used both in the same filter instance, but one
                        alternative should be chosen.
                      type: object
                      anyOf:
                        - oneOf:
                            - required:
                                - nsdIds
                            - required:
                                - vnfdIds
                            - required:
                                - pnfdIds
                        - oneOf:
                            - required:
                                - nsInstanceIds
                            - required:
                                - nsInstanceNames
                      properties:
                        nsdIds:
                          description: >
                            If present, match NS instances that were created
                            based on a NSD identified by one of the nsdId values
                            listed in this attribute. See note 1.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        vnfdIds:
                          description: >
                            If present, match NS instances that contain VNF
                            instances that were created based on a VNFD
                            identified by one of the vnfdId values listed in
                            this attribute. See note 1.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        pnfdIds:
                          description: >
                            If present, match NS instances that contain PNFs
                            that are represented by a PNFD identified by one of
                            the pnfdId values listed in this attribute. See note
                            1.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        nsInstanceIds:
                          description: >
                            If present, match NS instances with an instance
                            identifier listed in this attribute. See note 2.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        nsInstanceNames:
                          description: >
                            If present, match NS instances with a NS Instance
                            Name listed in this attribute. See note 2.
                          type: array
                          items:
                            description: |
                              A string as defined in IETF RFC 8259.
                            type: string
                    notificationTypes:
                      description: "Match particular notification types. Permitted values: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification -\tNsLcmCapacityShortageNotification - NsChangeNotification\nSee note.\n"
                      type: array
                      items:
                        type: string
                        enum:
                          - NsLcmOperationOccurenceNotification
                          - NsIdentifierCreationNotification
                          - NsIdentifierDeletionNotification
                          - NsChangeNotification
                    operationTypes:
                      description: >
                        Match particular NS lifecycle operation types for the
                        notification of type
                        NsLcmOperationOccurrenceNotification. May be present if
                        the "notificationTypes" attribute contains the value
                        "NsLcmOperationOccurrenceNotification", and shall be
                        absent otherwise.
                      type: array
                      items:
                        description: >
                          The enumeration NsLcmOpType represents those lifecycle
                          operations that trigger a NS lifecycle management
                          operation occurrence notification. Value | Description
                          ------|------------ INSTANTIATE | Represents the
                          "Instantiate NS" LCM operation. SCALE | Represents the
                          "Scale NS" LCM operation. UPDATE | Represents the
                          "Update NS" LCM operation. TERMINATE | Represents the
                          "Terminate NS" LCM operation. HEAL | Represents the
                          "Heal NS" LCM operation.
                        type: string
                        enum:
                          - INSTANTIATE
                          - SCALE
                          - UPDATE
                          - TERMINATE
                          - HEAL
                    operationStates:
                      description: >
                        Match particular LCM operation state values as reported
                        in notifications of type
                        NsLcmOperationOccurrenceNotification. May be present if
                        the "notificationTypes" attribute contains the value
                        "NsLcmOperationOccurrenceNotification", and shall be
                        absent otherwise.
                      type: array
                      items:
                        description: >
                          Value | Description ------|------------ PROCESSING |
                          The LCM operation is currently in execution. COMPLETED
                          | The LCM operation has been completed successfully.
                          PARTIALLY_COMPLETED | The LCM operation has been
                          partially completed with accepTable errors.
                          FAILED_TEMP | The LCM operation has failed and
                          execution has stopped, but the execution of the
                          operation is not considered to be closed. FAILED | The
                          LCM operation has failed and it cannot be retried or
                          rolled back, as it is determined that such action will
                          not succeed. OLLING_BACK | The LCM operation is
                          currently being rolled back. ROLLED_BACK | The LCM
                          operation has been successfully rolled back, i.e. The
                          state of the NS prior to the original operation
                          invocation has been restored as closely as possible.
                        type: string
                        enum:
                          - PROCESSING
                          - COMPLETED
                          - PARTIALLY_COMPLETED
                          - FAILED_TEMP
                          - FAILED
                          - ROLLING_BACK
                          - ROLLED_BACK
                    affectedNsInstanceIds:
                      description: >
                        Match particular identifiers of the NS instance(s)
                        related to the operation occurrence that were affected
                        by the shortage as reported in notifications of type
                        NsLcmCapacityShortageNotification. May be present if the
                        "notificationTypes" attribute contains the value
                        "NsLcmCapacityShortageNotification", and shall be absent
                        otherwise.
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    nsComponentTypes:
                      description: >
                        Match particular NS component types for the notification
                        of type NsChangeNotification. May be present if the
                        "notificationTypes" attribute contains the value
                        "NsChang.
                      type: array
                      items:
                        description: >
                          The enumeration NsComponentType represents the NS
                          component type. It shall comply with the provisions
                          defined in Table 6.5.4.5-1. Value | Description
                          ------|------------ VNF | Represents the impacted NS
                          component is a VNF. PNF | Represents the impacted NS
                          component is a PNF. NS | Represents the impacted NS
                          component is a nested NS.
                        type: string
                        enum:
                          - VNF
                          - PNF
                          - NS
                    lcmOpNameImpactingNsComponent:
                      description: >
                        Match particular LCM operation names for the
                        notification of type NsChangeNotification. May be
                        present if the "notificationTypes" attribute contains
                        the value "NsChangeNotification", and shall be absent
                        otherwise.
                      type: array
                      items:
                        description: >
                          The enumeration LcmOpNameForChangeNotificationType
                          represents the name of the lifecycle operation that
                          impacts the NS component and trigger an NS change
                          notification. It shall comply with the provisions
                          defined in Table 6.5.4.6-1. Value | Description
                          ------|------------ VNF_INSTANTIATE | Represents the
                          "Instantiate VNF" LCM operation. VNF_SCALE |
                          Represents the "Scale VNF" LCM operation.
                          VNF_SCALE_TO_LEVEL | Represents the "Scale VNF to
                          Level" LCM operation. VNF_CHANGE_FLAVOUR | Represents
                          the "Change VNF Flavor" LCM operation. VNF_TERMINATE |
                          Represents the "Terminate VNF" LCM operation. VNF_HEAL
                          | Represents the "Heal VNF" LCM operation. VNF_OPERATE
                          | Represents the "Operate VNF" LCM operation.
                          VNF_CHANGE_EXT_CONN | Represents the "Change external
                          VNF connectivity" LCM operation. VNF_MODIFY_INFO |
                          Represents the "Modify VNF Information" LCM
                          operation.            NS_INSTANTIATE | Represents the
                          "Instantiate NS" LCM operation NS_SCALE | Represents
                          the "Scale NS" LCM operation. NS_UPDATE | Represents
                          the "Update NS" LCM operation. NS_TERMINATE |
                          Represents the "Terminate NS" LCM operation. NS_HEAL |
                          Represents the "Heal NS" LCM operation.
                        type: string
                        enum:
                          - VNF_INSTANTIATE
                          - VNF_SCALE
                          - VNF_SCALE_TO_LEVEL
                          - VNF_CHANGE_FLAVOUR
                          - VNF_TERMINATE
                          - VNF_HEAL
                          - VNF_OPERATE
                          - VNF_CHANGE_EXT_CONN
                          - VNF_MODIFY_INFO
                          - VNF_CREATE_SNAPSHOT
                          - VNF_REVERT_TO_SNAPSHOT
                          - VNF_CHANGE_VNFPKG
                          - NS_INSTANTIATE
                          - NS_SCALE
                          - NS_UPDATE
                          - NS_TERMINATE
                          - NS_HEAL
                    lcmOpOccStatusImpactingNsComponent:
                      description: >
                        Match particular LCM operation status values as reported
                        in notifications of type NsChangeNotification. May be
                        present if the "notificationTypes" attribute contains
                        the value "NsChangeNotification", and shall be absent
                        otherwise.
                      type: array
                      items:
                        description: "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue                   | Description VNF_INSTANTIATE\t        Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t                Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t    Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t    Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t            Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t                Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t            Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t    Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t        Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t    Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t        Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t        Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t                Represents the \"Scale NS\" LCM operation. NS_UPDATE\t                Represents the \"Update NS\" LCM operation. NS_TERMINATE\t            Represents the \"Terminate NS\" LCM operation. NS_HEAL\t                Represents the \"Heal NS\" LCM operation.\n"
                        type: string
                        enum:
                          - VNF_INSTANTIATE
                          - VNF_SCALE
                          - VNF_SCALE_TO_LEVEL
                          - VNF_CHANGE_FLAVOUR
                          - VNF_TERMINATE
                          - VNF_HEAL
                          - VNF_OPERATE
                          - VNF_CHANGE_EXT_CONN
                          - VNF_MODIFY_INFO
                          - VNF_CREATE_SNAPSHOT
                          - VNF_REVERT_TO_SNAPSHOT
                          - VNF_CHANGE_VNFPKG
                          - NS_INSTANTIATE
                          - NS_SCALE
                          - NS_UPDATE
                          - NS_TERMINATE
                          - NS_HEAL
                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
                verbosity:
                  description: >
                    The enumeration LcmOpOccNotificationVerbosityType provides
                    values to control the verbosity of LCM operation occurrence
                    notifications. It shall comply with the provisions defined
                    in table 6.5.4.11-1. * FULL: This signals a full
                    notification which contains all change details. * SHORT:
                    This signals a short notification which omits large-volume
                    change details to reduce the size of data to
                             be sent via the notification mechanism.
                  type: string
                  enum:
                    - FULL
                    - SHORT
        required: true
      responses:
        '201':
          description: >
            201 Created\nShall be returned when the subscription has been

            created successfully. The response body shall contain a
            representation

            of the created "Individual subscription" resource. The HTTP response

            shall include a "Location:" HTTP header that points to the created

            "Individual subscription" resource.
          headers:
            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:
                description: >
                  This type represents a subscription related to notifications
                  about NS lifecycle changes.  It shall comply with the
                  provisions defined in Table 6.5.2.4-1.
                type: object
                required:
                  - id
                  - callbackUri
                  - _links
                properties:
                  id:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  filter:
                    description: "This type represents a subscription filter related to notifications about  NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n"
                    type: object
                    properties:
                      nsInstanceSubscriptionFilter:
                        description: >
                          This type represents subscription filter criteria to
                          match NS instances.

                          NOTE 1: The attributes "nsdIds", "vnfdIds" and
                          "pnfdIds" are alternatives to reference to NS
                          instances that are created based on certain NSDs, or
                          contain VNF instances that are based on certain VNFDs,
                          or contain PNFs that are based on certain PNFDs in a
                          filter. They should not be used together in the same
                          filter instance, but one alternative should be chosen.

                          NOTE 2: The attributes "nsInstanceIds" and
                          "nsInstanceNames" are alternatives to reference to
                          particular NS Instances in a filter. They should not
                          be used both in the same filter instance, but one
                          alternative should be chosen.
                        type: object
                        anyOf:
                          - oneOf:
                              - required:
                                  - nsdIds
                              - required:
                                  - vnfdIds
                              - required:
                                  - pnfdIds
                          - oneOf:
                              - required:
                                  - nsInstanceIds
                              - required:
                                  - nsInstanceNames
                        properties:
                          nsdIds:
                            description: >
                              If present, match NS instances that were created
                              based on a NSD identified by one of the nsdId
                              values listed in this attribute. See note 1.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          vnfdIds:
                            description: >
                              If present, match NS instances that contain VNF
                              instances that were created based on a VNFD
                              identified by one of the vnfdId values listed in
                              this attribute. See note 1.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          pnfdIds:
                            description: >
                              If present, match NS instances that contain PNFs
                              that are represented by a PNFD identified by one
                              of the pnfdId values listed in this attribute. See
                              note 1.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          nsInstanceIds:
                            description: >
                              If present, match NS instances with an instance
                              identifier listed in this attribute. See note 2.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          nsInstanceNames:
                            description: >
                              If present, match NS instances with a NS Instance
                              Name listed in this attribute. See note 2.
                            type: array
                            items:
                              description: |
                                A string as defined in IETF RFC 8259.
                              type: string
                      notificationTypes:
                        description: "Match particular notification types. Permitted values: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification -\tNsLcmCapacityShortageNotification - NsChangeNotification\nSee note.\n"
                        type: array
                        items:
                          type: string
                          enum:
                            - NsLcmOperationOccurenceNotification
                            - NsIdentifierCreationNotification
                            - NsIdentifierDeletionNotification
                            - NsChangeNotification
                      operationTypes:
                        description: >
                          Match particular NS lifecycle operation types for the
                          notification of type
                          NsLcmOperationOccurrenceNotification. May be present
                          if the "notificationTypes" attribute contains the
                          value "NsLcmOperationOccurrenceNotification", and
                          shall be absent otherwise.
                        type: array
                        items:
                          description: >
                            The enumeration NsLcmOpType represents those
                            lifecycle operations that trigger a NS lifecycle
                            management operation occurrence notification. Value
                            | Description ------|------------ INSTANTIATE |
                            Represents the "Instantiate NS" LCM operation. SCALE
                            | Represents the "Scale NS" LCM operation. UPDATE |
                            Represents the "Update NS" LCM operation. TERMINATE
                            | Represents the "Terminate NS" LCM operation. HEAL
                            | Represents the "Heal NS" LCM operation.
                          type: string
                          enum:
                            - INSTANTIATE
                            - SCALE
                            - UPDATE
                            - TERMINATE
                            - HEAL
                      operationStates:
                        description: >
                          Match particular LCM operation state values as
                          reported in notifications of type
                          NsLcmOperationOccurrenceNotification. May be present
                          if the "notificationTypes" attribute contains the
                          value "NsLcmOperationOccurrenceNotification", and
                          shall be absent otherwise.
                        type: array
                        items:
                          description: >
                            Value | Description ------|------------ PROCESSING |
                            The LCM operation is currently in execution.
                            COMPLETED | The LCM operation has been completed
                            successfully. PARTIALLY_COMPLETED | The LCM
                            operation has been partially completed with
                            accepTable errors. FAILED_TEMP | The LCM operation
                            has failed and execution has stopped, but the
                            execution of the operation is not considered to be
                            closed. FAILED | The LCM operation has failed and it
                            cannot be retried or rolled back, as it is
                            determined that such action will not succeed.
                            OLLING_BACK | The LCM operation is currently being
                            rolled back. ROLLED_BACK | The LCM operation has
                            been successfully rolled back, i.e. The state of the
                            NS prior to the original operation invocation has
                            been restored as closely as possible.
                          type: string
                          enum:
                            - PROCESSING
                            - COMPLETED
                            - PARTIALLY_COMPLETED
                            - FAILED_TEMP
                            - FAILED
                            - ROLLING_BACK
                            - ROLLED_BACK
                      affectedNsInstanceIds:
                        description: >
                          Match particular identifiers of the NS instance(s)
                          related to the operation occurrence that were affected
                          by the shortage as reported in notifications of type
                          NsLcmCapacityShortageNotification. May be present if
                          the "notificationTypes" attribute contains the value
                          "NsLcmCapacityShortageNotification", and shall be
                          absent otherwise.
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      nsComponentTypes:
                        description: >
                          Match particular NS component types for the
                          notification of type NsChangeNotification. May be
                          present if the "notificationTypes" attribute contains
                          the value "NsChang.
                        type: array
                        items:
                          description: >
                            The enumeration NsComponentType represents the NS
                            component type. It shall comply with the provisions
                            defined in Table 6.5.4.5-1. Value | Description
                            ------|------------ VNF | Represents the impacted NS
                            component is a VNF. PNF | Represents the impacted NS
                            component is a PNF. NS | Represents the impacted NS
                            component is a nested NS.
                          type: string
                          enum:
                            - VNF
                            - PNF
                            - NS
                      lcmOpNameImpactingNsComponent:
                        description: >
                          Match particular LCM operation names for the
                          notification of type NsChangeNotification. May be
                          present if the "notificationTypes" attribute contains
                          the value "NsChangeNotification", and shall be absent
                          otherwise.
                        type: array
                        items:
                          description: >
                            The enumeration LcmOpNameForChangeNotificationType
                            represents the name of the lifecycle operation that
                            impacts the NS component and trigger an NS change
                            notification. It shall comply with the provisions
                            defined in Table 6.5.4.6-1. Value | Description
                            ------|------------ VNF_INSTANTIATE | Represents the
                            "Instantiate VNF" LCM operation. VNF_SCALE |
                            Represents the "Scale VNF" LCM operation.
                            VNF_SCALE_TO_LEVEL | Represents the "Scale VNF to
                            Level" LCM operation. VNF_CHANGE_FLAVOUR |
                            Represents the "Change VNF Flavor" LCM operation.
                            VNF_TERMINATE | Represents the "Terminate VNF" LCM
                            operation. VNF_HEAL | Represents the "Heal VNF" LCM
                            operation. VNF_OPERATE | Represents the "Operate
                            VNF" LCM operation. VNF_CHANGE_EXT_CONN | Represents
                            the "Change external VNF connectivity" LCM
                            operation. VNF_MODIFY_INFO | Represents the "Modify
                            VNF Information" LCM operation.           
                            NS_INSTANTIATE | Represents the "Instantiate NS" LCM
                            operation NS_SCALE | Represents the "Scale NS" LCM
                            operation. NS_UPDATE | Represents the "Update NS"
                            LCM operation. NS_TERMINATE | Represents the
                            "Terminate NS" LCM operation. NS_HEAL | Represents
                            the "Heal NS" LCM operation.
                          type: string
                          enum:
                            - VNF_INSTANTIATE
                            - VNF_SCALE
                            - VNF_SCALE_TO_LEVEL
                            - VNF_CHANGE_FLAVOUR
                            - VNF_TERMINATE
                            - VNF_HEAL
                            - VNF_OPERATE
                            - VNF_CHANGE_EXT_CONN
                            - VNF_MODIFY_INFO
                            - VNF_CREATE_SNAPSHOT
                            - VNF_REVERT_TO_SNAPSHOT
                            - VNF_CHANGE_VNFPKG
                            - NS_INSTANTIATE
                            - NS_SCALE
                            - NS_UPDATE
                            - NS_TERMINATE
                            - NS_HEAL
                      lcmOpOccStatusImpactingNsComponent:
                        description: >
                          Match particular LCM operation status values as
                          reported in notifications of type
                          NsChangeNotification. May be present if the
                          "notificationTypes" attribute contains the value
                          "NsChangeNotification", and shall be absent otherwise.
                        type: array
                        items:
                          description: "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue                   | Description VNF_INSTANTIATE\t        Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t                Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t    Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t    Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t            Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t                Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t            Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t    Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t        Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t    Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t        Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t        Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t                Represents the \"Scale NS\" LCM operation. NS_UPDATE\t                Represents the \"Update NS\" LCM operation. NS_TERMINATE\t            Represents the \"Terminate NS\" LCM operation. NS_HEAL\t                Represents the \"Heal NS\" LCM operation.\n"
                          type: string
                          enum:
                            - VNF_INSTANTIATE
                            - VNF_SCALE
                            - VNF_SCALE_TO_LEVEL
                            - VNF_CHANGE_FLAVOUR
                            - VNF_TERMINATE
                            - VNF_HEAL
                            - VNF_OPERATE
                            - VNF_CHANGE_EXT_CONN
                            - VNF_MODIFY_INFO
                            - VNF_CREATE_SNAPSHOT
                            - VNF_REVERT_TO_SNAPSHOT
                            - VNF_CHANGE_VNFPKG
                            - NS_INSTANTIATE
                            - NS_SCALE
                            - NS_UPDATE
                            - NS_TERMINATE
                            - NS_HEAL
                  callbackUri:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  verbosity:
                    description: >
                      The enumeration LcmOpOccNotificationVerbosityType provides
                      values to control the verbosity of LCM operation
                      occurrence notifications. It shall comply with the
                      provisions defined in table 6.5.4.11-1. * FULL: This
                      signals a full notification which contains all change
                      details. * SHORT: This signals a short notification which
                      omits large-volume change details to reduce the size of
                      data to
                               be sent via the notification mechanism.
                    type: string
                    enum:
                      - FULL
                      - SHORT
                  _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


            Shall be returned if a subscription with the same callback URI and
            the same filter already exits and the

            policy of the NFVO is to not create redundant subscriptions.

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

            "Individual subscription" resource.

            The response body shall be empty.
          headers:
            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
        '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


            Shall be returned upon the following error: The content type of the
            payload body is supported and the

            payload body of a request contains syntactically correct data but
            the data cannot be processed.

            The general cause for this error and its handling is specified in
            clause 6.4 of ETSI GS NFV-SOL 013 [16],

            including rules for the presence of the response body.

            Specifically in case of this resource, the response code 422 shall
            also be returned if the NFVO has tested

            the Notification endpoint as described in clause 6.4.18.3.2 and the
            test has failed.

            In this case, the "detail" attribute in the "ProblemDetails"
            structure shall convey more information about the error.
          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:
                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.
        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 retrieves information about a subscription by reading an
        "Individual subscription" resource.

        See clause 6.4.17.3.2.
      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.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:
                description: >
                  This type represents a subscription related to notifications
                  about NS lifecycle changes.  It shall comply with the
                  provisions defined in Table 6.5.2.4-1.
                type: object
                required:
                  - id
                  - callbackUri
                  - _links
                properties:
                  id:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  filter:
                    description: "This type represents a subscription filter related to notifications about  NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n"
                    type: object
                    properties:
                      nsInstanceSubscriptionFilter:
                        description: >
                          This type represents subscription filter criteria to
                          match NS instances.

                          NOTE 1: The attributes "nsdIds", "vnfdIds" and
                          "pnfdIds" are alternatives to reference to NS
                          instances that are created based on certain NSDs, or
                          contain VNF instances that are based on certain VNFDs,
                          or contain PNFs that are based on certain PNFDs in a
                          filter. They should not be used together in the same
                          filter instance, but one alternative should be chosen.

                          NOTE 2: The attributes "nsInstanceIds" and
                          "nsInstanceNames" are alternatives to reference to
                          particular NS Instances in a filter. They should not
                          be used both in the same filter instance, but one
                          alternative should be chosen.
                        type: object
                        anyOf:
                          - oneOf:
                              - required:
                                  - nsdIds
                              - required:
                                  - vnfdIds
                              - required:
                                  - pnfdIds
                          - oneOf:
                              - required:
                                  - nsInstanceIds
                              - required:
                                  - nsInstanceNames
                        properties:
                          nsdIds:
                            description: >
                              If present, match NS instances that were created
                              based on a NSD identified by one of the nsdId
                              values listed in this attribute. See note 1.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          vnfdIds:
                            description: >
                              If present, match NS instances that contain VNF
                              instances that were created based on a VNFD
                              identified by one of the vnfdId values listed in
                              this attribute. See note 1.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          pnfdIds:
                            description: >
                              If present, match NS instances that contain PNFs
                              that are represented by a PNFD identified by one
                              of the pnfdId values listed in this attribute. See
                              note 1.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          nsInstanceIds:
                            description: >
                              If present, match NS instances with an instance
                              identifier listed in this attribute. See note 2.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                          nsInstanceNames:
                            description: >
                              If present, match NS instances with a NS Instance
                              Name listed in this attribute. See note 2.
                            type: array
                            items:
                              description: |
                                A string as defined in IETF RFC 8259.
                              type: string
                      notificationTypes:
                        description: "Match particular notification types. Permitted values: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification -\tNsLcmCapacityShortageNotification - NsChangeNotification\nSee note.\n"
                        type: array
                        items:
                          type: string
                          enum:
                            - NsLcmOperationOccurenceNotification
                            - NsIdentifierCreationNotification
                            - NsIdentifierDeletionNotification
                            - NsChangeNotification
                      operationTypes:
                        description: >
                          Match particular NS lifecycle operation types for the
                          notification of type
                          NsLcmOperationOccurrenceNotification. May be present
                          if the "notificationTypes" attribute contains the
                          value "NsLcmOperationOccurrenceNotification", and
                          shall be absent otherwise.
                        type: array
                        items:
                          description: >
                            The enumeration NsLcmOpType represents those
                            lifecycle operations that trigger a NS lifecycle
                            management operation occurrence notification. Value
                            | Description ------|------------ INSTANTIATE |
                            Represents the "Instantiate NS" LCM operation. SCALE
                            | Represents the "Scale NS" LCM operation. UPDATE |
                            Represents the "Update NS" LCM operation. TERMINATE
                            | Represents the "Terminate NS" LCM operation. HEAL
                            | Represents the "Heal NS" LCM operation.
                          type: string
                          enum:
                            - INSTANTIATE
                            - SCALE
                            - UPDATE
                            - TERMINATE
                            - HEAL
                      operationStates:
                        description: >
                          Match particular LCM operation state values as
                          reported in notifications of type
                          NsLcmOperationOccurrenceNotification. May be present
                          if the "notificationTypes" attribute contains the
                          value "NsLcmOperationOccurrenceNotification", and
                          shall be absent otherwise.
                        type: array
                        items:
                          description: >
                            Value | Description ------|------------ PROCESSING |
                            The LCM operation is currently in execution.
                            COMPLETED | The LCM operation has been completed
                            successfully. PARTIALLY_COMPLETED | The LCM
                            operation has been partially completed with
                            accepTable errors. FAILED_TEMP | The LCM operation
                            has failed and execution has stopped, but the
                            execution of the operation is not considered to be
                            closed. FAILED | The LCM operation has failed and it
                            cannot be retried or rolled back, as it is
                            determined that such action will not succeed.
                            OLLING_BACK | The LCM operation is currently being
                            rolled back. ROLLED_BACK | The LCM operation has
                            been successfully rolled back, i.e. The state of the
                            NS prior to the original operation invocation has
                            been restored as closely as possible.
                          type: string
                          enum:
                            - PROCESSING
                            - COMPLETED
                            - PARTIALLY_COMPLETED
                            - FAILED_TEMP
                            - FAILED
                            - ROLLING_BACK
                            - ROLLED_BACK
                      affectedNsInstanceIds:
                        description: >
                          Match particular identifiers of the NS instance(s)
                          related to the operation occurrence that were affected
                          by the shortage as reported in notifications of type
                          NsLcmCapacityShortageNotification. May be present if
                          the "notificationTypes" attribute contains the value
                          "NsLcmCapacityShortageNotification", and shall be
                          absent otherwise.
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      nsComponentTypes:
                        description: >
                          Match particular NS component types for the
                          notification of type NsChangeNotification. May be
                          present if the "notificationTypes" attribute contains
                          the value "NsChang.
                        type: array
                        items:
                          description: >
                            The enumeration NsComponentType represents the NS
                            component type. It shall comply with the provisions
                            defined in Table 6.5.4.5-1. Value | Description
                            ------|------------ VNF | Represents the impacted NS
                            component is a VNF. PNF | Represents the impacted NS
                            component is a PNF. NS | Represents the impacted NS
                            component is a nested NS.
                          type: string
                          enum:
                            - VNF
                            - PNF
                            - NS
                      lcmOpNameImpactingNsComponent:
                        description: >
                          Match particular LCM operation names for the
                          notification of type NsChangeNotification. May be
                          present if the "notificationTypes" attribute contains
                          the value "NsChangeNotification", and shall be absent
                          otherwise.
                        type: array
                        items:
                          description: >
                            The enumeration LcmOpNameForChangeNotificationType
                            represents the name of the lifecycle operation that
                            impacts the NS component and trigger an NS change
                            notification. It shall comply with the provisions
                            defined in Table 6.5.4.6-1. Value | Description
                            ------|------------ VNF_INSTANTIATE | Represents the
                            "Instantiate VNF" LCM operation. VNF_SCALE |
                            Represents the "Scale VNF" LCM operation.
                            VNF_SCALE_TO_LEVEL | Represents the "Scale VNF to
                            Level" LCM operation. VNF_CHANGE_FLAVOUR |
                            Represents the "Change VNF Flavor" LCM operation.
                            VNF_TERMINATE | Represents the "Terminate VNF" LCM
                            operation. VNF_HEAL | Represents the "Heal VNF" LCM
                            operation. VNF_OPERATE | Represents the "Operate
                            VNF" LCM operation. VNF_CHANGE_EXT_CONN | Represents
                            the "Change external VNF connectivity" LCM
                            operation. VNF_MODIFY_INFO | Represents the "Modify
                            VNF Information" LCM operation.           
                            NS_INSTANTIATE | Represents the "Instantiate NS" LCM
                            operation NS_SCALE | Represents the "Scale NS" LCM
                            operation. NS_UPDATE | Represents the "Update NS"
                            LCM operation. NS_TERMINATE | Represents the
                            "Terminate NS" LCM operation. NS_HEAL | Represents
                            the "Heal NS" LCM operation.
                          type: string
                          enum:
                            - VNF_INSTANTIATE
                            - VNF_SCALE
                            - VNF_SCALE_TO_LEVEL
                            - VNF_CHANGE_FLAVOUR
                            - VNF_TERMINATE
                            - VNF_HEAL
                            - VNF_OPERATE
                            - VNF_CHANGE_EXT_CONN
                            - VNF_MODIFY_INFO
                            - VNF_CREATE_SNAPSHOT
                            - VNF_REVERT_TO_SNAPSHOT
                            - VNF_CHANGE_VNFPKG
                            - NS_INSTANTIATE
                            - NS_SCALE
                            - NS_UPDATE
                            - NS_TERMINATE
                            - NS_HEAL
                      lcmOpOccStatusImpactingNsComponent:
                        description: >
                          Match particular LCM operation status values as
                          reported in notifications of type
                          NsChangeNotification. May be present if the
                          "notificationTypes" attribute contains the value
                          "NsChangeNotification", and shall be absent otherwise.
                        type: array
                        items:
                          description: "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue                   | Description VNF_INSTANTIATE\t        Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t                Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t    Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t    Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t            Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t                Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t            Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t    Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t        Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t    Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t        Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t        Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t                Represents the \"Scale NS\" LCM operation. NS_UPDATE\t                Represents the \"Update NS\" LCM operation. NS_TERMINATE\t            Represents the \"Terminate NS\" LCM operation. NS_HEAL\t                Represents the \"Heal NS\" LCM operation.\n"
                          type: string
                          enum:
                            - VNF_INSTANTIATE
                            - VNF_SCALE
                            - VNF_SCALE_TO_LEVEL
                            - VNF_CHANGE_FLAVOUR
                            - VNF_TERMINATE
                            - VNF_HEAL
                            - VNF_OPERATE
                            - VNF_CHANGE_EXT_CONN
                            - VNF_MODIFY_INFO
                            - VNF_CREATE_SNAPSHOT
                            - VNF_REVERT_TO_SNAPSHOT
                            - VNF_CHANGE_VNFPKG
                            - NS_INSTANTIATE
                            - NS_SCALE
                            - NS_UPDATE
                            - NS_TERMINATE
                            - NS_HEAL
                  callbackUri:
                    description: |
                      String formatted according to IETF RFC 3986.
                    type: string
                    format: uri
                  verbosity:
                    description: >
                      The enumeration LcmOpOccNotificationVerbosityType provides
                      values to control the verbosity of LCM operation
                      occurrence notifications. It shall comply with the
                      provisions defined in table 6.5.4.11-1. * FULL: This
                      signals a full notification which contains all change
                      details. * SHORT: This signals a short notification which
                      omits large-volume change details to reduce the size of
                      data to
                               be sent via the notification mechanism.
                    type: string
                    enum:
                      - FULL
                      - SHORT
                  _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:
      description: >
        The DELETE method terminates an individual subscription. See clause
        6.4.17.3.5.
      responses:
        '204':
          description: >
            204 NO CONTENT

            Shall be returned when the "Individual subscription" resource has
            been deleted successfully. The response

            body shall be empty.
          headers:
            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
  /vnf_snapshots:
    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:
      description: >
        The GET method queries information about multiple VNF snapshots. See
        clause 6.4.19.3.2.
      parameters:
        - in: query
          name: filter
          description: >
            Attribute-based filtering expression according to clause 5.2 of ETSI
            GS NFV-SOL 013. The NFVO shall support receiving this parameter as
            part of the URI query string.  The OSS/BSS may supply this
            parameter. All attribute names that appear in the VnfSnapshotInfo
            and in data types referenced  from it shall be supported by the NFVO
            in the filter expression. 
          schema:
            type: string
        - name: all_fields
          description: >
            Include all complex attributes in the response. See clause 5.3 of
            ETSI GS NFV-SOL 013 for details.  The NFVO 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 NFVO 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 NFVO should support this
            parameter.
          in: query
          required: false
          schema:
            type: string
        - in: query
          name: exclude_default
          description: "Indicates to exclude the following complex attributes from the response. See clause 5.3 of  ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. The following attributes shall be excluded from the VnfSnapshot structure in the response  body if this parameter is provided, or none of the parameters \"all_fields\", \"fields\",  \"exclude_fields\", \"exclude_default\" are provided: -\tvnfInstance -\tvnfcSnapshots\n"
          schema:
            type: string
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be
            supported by the NFVO if the NFVO 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 snapshots
            was queried successfully.

            The response body shall contain in an array the representations of
            zero or more "Individual VNF snapshot" resources,

            as defined in clause 6.5.2.17.

            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.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: array
                items:
                  description: >
                    This type represents an "Individual VNF snapshot" resource.
                    The "id" attributed is used by the NFVO to index and

                    identify the VNF snapshots information resources that are
                    accessible via the NFVO. The identifier is still

                    generated by the VNFM and copied into the present
                    "VnfSnapshotInfo" representing the "Individual VNF snapshot"

                    resource hold by the NFVO.
                  type: object
                  required:
                    - id
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfSnapshotPkgId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfSnapshot:
                      description: >
                        This type represents a VNF Snapshot. It shall comply
                        with the provisions defined in table 6.5.2.18-1.
                      type: object
                      required:
                        - id
                        - vnfInstanceId
                        - triggeredAt
                        - createdAt
                        - vnfdId
                        - vnfInstance
                        - vnfcSnapshots
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfInstanceId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        creationStartedAt:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        creationFinishedAt:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfInstance:
                          description: >
                            This type represents a VNF instance. It shall comply
                            with the provisions defined in table 6.5.3.57-1.

                            NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides
                            examples illustrating the relationship among the 
                                  different run-time information elements (CP, VL and link ports) used to represent the connectivity 
                                  of a VNF.

                            NOTE 1: Modifying the value of this attribute shall
                            not be performed when conflicts exist between the 
                                    previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to 
                                    the previous VNFD in other aspects than merely referencing to other VNF software images. 
                                    In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, 
                                    the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall 
                                    be kept in sync with the values in the VNFD.
                            NOTE 2: ETSI GS NFV-SOL 001 specifies the structure
                            and format of the VNFD based on TOSCA
                            specifications. NOTE 3: VNF configurable properties
                            are sometimes also referred to as configuration
                            parameters applicable 
                                    to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, 
                                    some are set prior to instantiation (are part of initial configuration) and can be modified later, 
                                    and others can be set only after instantiation. The applicability of certain configuration may depend 
                                    on the VNF and the required operation of the VNF at a certain point in time.
                            NOTE 4: It is possible to have several
                            ExtManagedVirtualLinkInfo for the same VNF internal
                            VL in case of a 
                                    multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same 
                                    VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed 
                                    multi-site VL instance (refer to clause 6.5.3.59).
                            NOTE 5: Even though externally-managed internal VLs
                            are also used for VNF-internal connectivity, they
                            shall not 
                                    be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
                          type: object
                          required:
                            - id
                            - vnfdId
                            - vnfProvider
                            - vnfProductName
                            - vnfSoftwareVersion
                            - vnfdVersion
                            - vnfPkgId
                            - instantiationState
                          properties:
                            id:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vnfInstanceName:
                              description: >
                                Name of the VNF instance. Modifications to this
                                attribute can be requested using the
                                "ModifyVnfInfoData" structure.
                              type: string
                            vnfInstanceDescription:
                              description: >
                                Human-readable description of the VNF instance.
                                Modifications to this attribute can be requested
                                using the "ModifyVnfInfoData" structure.
                              type: string
                            vnfdId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vnfProvider:
                              description: >
                                Provider of the VNF and the VNFD. The value is
                                copied from the VNFD.
                              type: string
                            vnfProductName:
                              description: >
                                Name to identify the VNF Product. The value is
                                copied from the VNFD.
                              type: string
                            vnfSoftwareVersion:
                              description: >
                                A Version. Representation: string of variable
                                length.
                              type: string
                            vnfdVersion:
                              description: >
                                A Version. Representation: string of variable
                                length.
                              type: string
                            vnfPkgId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vnfConfigurableProperties:
                              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
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            instantiationState:
                              description: >
                                The instantiation state of the VNF.

                                Permitted values: - NOT_INSTANTIATED: The VNF
                                instance is terminated or not instantiated. -
                                INSTANTIATED: The VNF instance is instantiated.
                              type: string
                              enum:
                                - NOT_INSTANTIATED
                                - INSTANTIATED
                            instantiatedVnfInfo:
                              description: >
                                Information specific to an instantiated VNF
                                instance. This attribute shall be present if the
                                instantiateState attribute value is
                                INSTANTIATED.
                              type: object
                              required:
                                - flavourId
                                - vnfState
                                - extCpInfo
                              properties:
                                flavourId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfState:
                                  type: string
                                  enum:
                                    - STARTED
                                    - STOPPED
                                scaleStatus:
                                  description: >
                                    Scale status of the VNF, one entry per
                                    aspect. Represents for every scaling aspect
                                    how "big" the VNF has been scaled w.r.t.
                                    that aspect.
                                  type: array
                                  items:
                                    required:
                                      - aspectId
                                      - scaleLevel
                                    type: object
                                    properties:
                                      aspectId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      vnfdId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      scaleLevel:
                                        description: >
                                          Indicates the scale level. The minimum
                                          value shall be 0 and the maximum value
                                          shall be <= maxScaleLevel as described
                                          in the VNFD.
                                        type: integer
                                maxScaleLevels:
                                  description: >
                                    Maximum allowed scale levels of the VNF, one
                                    entry per aspect. This attribute shall be
                                    present if the VNF supports scaling.
                                  type: array
                                  items:
                                    required:
                                      - aspectId
                                      - scaleLevel
                                    type: object
                                    properties:
                                      aspectId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      vnfdId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      scaleLevel:
                                        description: >
                                          Indicates the scale level. The minimum
                                          value shall be 0 and the maximum value
                                          shall be <= maxScaleLevel as described
                                          in the VNFD.
                                        type: integer
                                extCpInfo:
                                  description: >
                                    Information about the external CPs exposed
                                    by the VNF instance. When trunking is
                                    enabled, the list of entries includes both,
                                    external CPs corresponding to parent ports
                                    of a trunk, and external CPs associated to
                                    sub-ports of a trunk.
                                  type: array
                                  minItems: 1
                                  items:
                                    description: "This type represents information about an external CP of a VNF. It shall comply  with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n"
                                    type: object
                                    required:
                                      - id
                                      - cpdId
                                    oneOf:
                                      - required:
                                          - associatedVnfcCpId
                                      - required:
                                          - associatedVnfVirtualLinkId
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpdId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      cpConfigId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      vnfdId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      cpProtocolInfo:
                                        description: >
                                          Network protocol information for this
                                          CP.
                                        type: array
                                        minItems: 1
                                        items:
                                          description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                          type: object
                                          required:
                                            - layerProtocol
                                            - ipOverEthernet
                                          properties:
                                            layerProtocol:
                                              description: >
                                                The identifier of layer(s) and
                                                protocol(s) associated to the network
                                                address information. Permitted values:
                                                  - IP_OVER_ETHERNET

                                                See note.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                            ipOverEthernet:
                                              description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - macAddress
                                                - required:
                                                    - ipAddresses
                                              properties:
                                                macAddress:
                                                  description: >
                                                    A MAC address. Representation: string
                                                    that consists of groups of two
                                                    hexadecimal digits, separated by hyphens
                                                    or colons.
                                                  type: string
                                                  format: MAC
                                                segmentationId:
                                                  description: >
                                                    Identification of the network segment to
                                                    which the Cp instance connects to. See
                                                    note 3 and note 4.
                                                  type: string
                                                ipAddresses:
                                                  description: >
                                                    Addresses assigned to the CP instance.
                                                    Each entry represents IP addresses
                                                    assigned by fixed or dynamic IP address
                                                    assignment per subnet. See note 1.
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - type
                                                    oneOf:
                                                      - required:
                                                          - addresses
                                                      - required:
                                                          - addressRange
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values: - IPV4 - IPV6
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      addresses:
                                                        description: >
                                                          Fixed addresses assigned (from the
                                                          subnet defined by "subnetId" if
                                                          provided). See note 2.
                                                        type: array
                                                        items:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                      isDynamic:
                                                        description: >
                                                          Indicates whether this set of addresses
                                                          was assigned dynamically (true) or based
                                                          on address information provided as input
                                                          from the API consumer (false). Shall be
                                                          present if "addresses" is present and
                                                          shall be absent otherwise.
                                                        type: boolean
                                                      addressRange:
                                                        description: >
                                                          An IP address range used, e.g., in case
                                                          of egress connections. Exactly one of
                                                          "addresses" or "addressRange" shall be
                                                          present. See note 2.
                                                        type: object
                                                        required:
                                                          - minAddress
                                                          - maxAddress
                                                        properties:
                                                          minAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          maxAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                      subnetId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                                                type:
                                                  description: |
                                                    The type of the IP addresses
                                                  type: string
                                                  enum:
                                                    - PV4
                                                    - PV6
                                                addresses:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                isDynamic:
                                                  description: >
                                                    Indicates whether this set of addresses
                                                    was assigned dynamically (true) or based
                                                    on address information provided as input
                                                    from the API consumer (false). Shall be
                                                    present if "addresses" is present and
                                                    shall be absent otherwise.
                                                  type: boolean
                                                addressRange:
                                                  description: >
                                                    An IP address range used, e.g. in case
                                                    of egress connections. See note.
                                                  type: object
                                                  required:
                                                    - minAddress
                                                    - maxAddress
                                                  properties:
                                                    minAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                subnetId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                      extLinkPortId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        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
                                      associatedVnfcCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      associatedVipCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      associatedVnfVirtualLinkId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                vipCpInfo:
                                  description: >
                                    VIP CPs that are part of the VNF instance.
                                    Shall be present when that particular VIP CP
                                    of the VNFC instance is associated to an
                                    external CP of the VNF instance. May be
                                    present otherwise.
                                  type: array
                                  items:
                                    description: >
                                      This type provides information related to
                                      virtual IP (VIP) CP. It shall comply with
                                      the provisions defined in table 6.5.3.97
                                      1. NOTE:   It is possible that there is no
                                      associated VnfcCp because the VIP CP is
                                      available but not associated yet.
                                    type: object
                                    required:
                                      - cpInstanceId
                                      - cpdId
                                    properties:
                                      cpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpdId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      vnfdId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      vnfExtCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpProtocolInfo:
                                        description: >
                                          Protocol information for this CP. There
                                          shall be one cpProtocolInfo for layer 3.
                                          There may be one cpProtocolInfo for
                                          layer 2.
                                        type: array
                                        items:
                                          description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                          type: object
                                          required:
                                            - layerProtocol
                                            - ipOverEthernet
                                          properties:
                                            layerProtocol:
                                              description: >
                                                The identifier of layer(s) and
                                                protocol(s) associated to the network
                                                address information. Permitted values:
                                                  - IP_OVER_ETHERNET

                                                See note.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                            ipOverEthernet:
                                              description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - macAddress
                                                - required:
                                                    - ipAddresses
                                              properties:
                                                macAddress:
                                                  description: >
                                                    A MAC address. Representation: string
                                                    that consists of groups of two
                                                    hexadecimal digits, separated by hyphens
                                                    or colons.
                                                  type: string
                                                  format: MAC
                                                segmentationId:
                                                  description: >
                                                    Identification of the network segment to
                                                    which the Cp instance connects to. See
                                                    note 3 and note 4.
                                                  type: string
                                                ipAddresses:
                                                  description: >
                                                    Addresses assigned to the CP instance.
                                                    Each entry represents IP addresses
                                                    assigned by fixed or dynamic IP address
                                                    assignment per subnet. See note 1.
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - type
                                                    oneOf:
                                                      - required:
                                                          - addresses
                                                      - required:
                                                          - addressRange
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values: - IPV4 - IPV6
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      addresses:
                                                        description: >
                                                          Fixed addresses assigned (from the
                                                          subnet defined by "subnetId" if
                                                          provided). See note 2.
                                                        type: array
                                                        items:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                      isDynamic:
                                                        description: >
                                                          Indicates whether this set of addresses
                                                          was assigned dynamically (true) or based
                                                          on address information provided as input
                                                          from the API consumer (false). Shall be
                                                          present if "addresses" is present and
                                                          shall be absent otherwise.
                                                        type: boolean
                                                      addressRange:
                                                        description: >
                                                          An IP address range used, e.g., in case
                                                          of egress connections. Exactly one of
                                                          "addresses" or "addressRange" shall be
                                                          present. See note 2.
                                                        type: object
                                                        required:
                                                          - minAddress
                                                          - maxAddress
                                                        properties:
                                                          minAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          maxAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                      subnetId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                                                type:
                                                  description: |
                                                    The type of the IP addresses
                                                  type: string
                                                  enum:
                                                    - PV4
                                                    - PV6
                                                addresses:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                isDynamic:
                                                  description: >
                                                    Indicates whether this set of addresses
                                                    was assigned dynamically (true) or based
                                                    on address information provided as input
                                                    from the API consumer (false). Shall be
                                                    present if "addresses" is present and
                                                    shall be absent otherwise.
                                                  type: boolean
                                                addressRange:
                                                  description: >
                                                    An IP address range used, e.g. in case
                                                    of egress connections. See note.
                                                  type: object
                                                  required:
                                                    - minAddress
                                                    - maxAddress
                                                  properties:
                                                    minAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                subnetId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                      associatedVnfcCpIds:
                                        description: >
                                          Identifiers of the VnfcCps that share
                                          the virtual IP addresse allocated to the
                                          VIP CP instance. See note.
                                        type: array
                                        items:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                      vnfLinkPortId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      metadata:
                                        description: >
                                          Allows the OSS/BSS to provide additional
                                          parameter(s) to the termination process
                                          at the NS level.
                                        type: array
                                        items:
                                          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
                                extVirtualLinkInfo:
                                  description: >
                                    Information about the external VLs the VNF
                                    instance is connected to.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - id
                                      - resourceHandle
                                    properties:
                                      id:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceHandle:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      extLinkPorts:
                                        description: |
                                          Link ports of this VL.
                                        type: array
                                        items:
                                          description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                          type: object
                                          required:
                                            - id
                                            - resourceHandle
                                          properties:
                                            id:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceHandle:
                                              description: >
                                                This type represents the information
                                                that allows addressing a virtualised
                                                resource that is used by a VNF instance
                                                or by an NS instance. Information about
                                                the resource is available from the VIM.
                                                NOTE: The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle.
                                              type: object
                                              required:
                                                - resourceId
                                              properties:
                                                vimId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceProviderId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                                vimLevelResourceType:
                                                  description: >
                                                    Type of the resource in the scope of the
                                                    VIM, the WIM or the resource provider.
                                                    The value set of the
                                                    "vimLevelResourceType" attribute is
                                                    within the scope of the VIM, the WIM or
                                                    the resource provider and can be used as
                                                    information that complements the
                                                    ResourceHandle. See note.
                                                  type: string
                                            cpInstanceId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            secondaryCpInstanceId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            trunkResourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                      currentVnfExtCpData:
                                        description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                        type: object
                                        required:
                                          - cpdId
                                        properties:
                                          cpdId:
                                            description: >
                                              Identifier of the VNF Virtual Link
                                              Descriptor (VLD) in the VNFD.
                                            type: string
                                          cpConfig:
                                            description: >
                                              Map of instance data that need to be
                                              configured on the CP instances  created
                                              from the respective CPD. The key of the
                                              map which identifies  the individual
                                              VnfExtCpConfig entries is of type
                                              "IdentifierInVnf"  and is managed by the
                                              API consumer. The entries shall be
                                              applied by  the VNFM according to the
                                              rules of JSON Merge Patch (see IETF RFC
                                              7396 [11]).  See notes 2, 3 and 4.
                                            type: object
                                            additionalProperties:
                                              description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - linkPortId
                                                - required:
                                                    - cpProtocolData
                                              properties:
                                                parentCpConfigId:
                                                  description: >
                                                    An identifier that is unique for the
                                                    respective type within a VNF instance,
                                                    but may not be globally unique.
                                                  type: string
                                                linkPortId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                createExtLinkPort:
                                                  description: >
                                                    Indicates the need to create a dedicated
                                                    link port for the external CP. If set to
                                                    True, a link port is created. If set to
                                                    False, no link port is created. This
                                                    attribute is only applicable for
                                                    external CP instances without a floating
                                                    IP address that expose a VIP CP instance
                                                    for which a dedicated IP address is
                                                    allocated. It shall be present in that
                                                    case and shall be absent otherwise.
                                                  type: boolean
                                                cpProtocolData:
                                                  description: >
                                                    Parameters for configuring the network
                                                    protocols on the link port that connects
                                                    the CP to a VL. See note 1.
                                                  type: array
                                                  items:
                                                    description: >
                                                      This type represents network protocol
                                                      data.
                                                    type: object
                                                    required:
                                                      - layerProtocol
                                                    properties:
                                                      layerProtocol:
                                                        description: >
                                                          Identifier of layer(s) and protocol(s).
                                                          Permitted values: IP_OVER_ETHERNET.
                                                        type: string
                                                        enum:
                                                          - IP_OVER_ETHERNET
                                                      ipOverEthernet:
                                                        description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                        type: object
                                                        anyOf:
                                                          - required:
                                                              - ipAddresses
                                                          - required:
                                                              - macAddress
                                                        properties:
                                                          macAddress:
                                                            description: >
                                                              A MAC address. Representation: string
                                                              that consists of groups of two
                                                              hexadecimal digits, separated by hyphens
                                                              or colons.
                                                            type: string
                                                            format: MAC
                                                          segmentationType:
                                                            description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                            type: string
                                                            enum:
                                                              - VLAN
                                                              - INHERIT
                                                          segmentationId:
                                                            description: >
                                                              Identification of the network segment to
                                                              which the CP instance connects to. See
                                                              note 3 and note 4.
                                                            type: string
                                                          ipAddresses:
                                                            description: >
                                                              List of IP addresses to assign to the CP
                                                              instance. Each entry represents IP
                                                              address data for fixed or dynamic IP
                                                              address assignment per subnet. If this
                                                              attribute is not present, no IP address
                                                              shall be assigned. See note 1.
                                                            type: array
                                                            items:
                                                              type: object
                                                              required:
                                                                - type
                                                              oneOf:
                                                                - required:
                                                                    - fixedAddresses
                                                                - required:
                                                                    - numDynamicAddresses
                                                                - required:
                                                                    - addressRange
                                                              properties:
                                                                type:
                                                                  description: >
                                                                    The type of the IP addresses. Permitted
                                                                    values:
                                                                      - IPV4
                                                                      - IPV6
                                                                  type: string
                                                                  enum:
                                                                    - IPV4
                                                                    - IPV6
                                                                fixedAddresses:
                                                                  description: >
                                                                    Fixed addresses to assign (from the
                                                                    subnet defined by "subnetId" if
                                                                    provided). Exactly one of
                                                                    "fixedAddresses", "numDynamicAddresses"
                                                                    or "ipAddressRange" shall be present.
                                                                  type: array
                                                                  items:
                                                                    description: >
                                                                      An IPV4 or IPV6 address. Representation:
                                                                      In case of an IPV4 address, string that
                                                                      consists of four decimal integers
                                                                      separated by dots, each integer ranging
                                                                      from 0 to 255. In case of an IPV6
                                                                      address, string that consists of groups
                                                                      of zero to four hexadecimal digits,
                                                                      separated by colons.
                                                                    type: string
                                                                    format: IP
                                                                numDynamicAddresses:
                                                                  description: >
                                                                    Number of dynamic addresses to assign
                                                                    (from the subnet defined by "subnetId"
                                                                    if provided). See note 2.
                                                                  type: integer
                                                                addressRange:
                                                                  description: >
                                                                    An IP address range to be used, e.g. in
                                                                    case of egress connections. In case this
                                                                    attribute is present, IP addresses from
                                                                    the range will be used.
                                                                  type: object
                                                                  required:
                                                                    - minAddress
                                                                    - maxAddress
                                                                  properties:
                                                                    minAddress:
                                                                      description: >
                                                                        An IPV4 or IPV6 address. Representation:
                                                                        In case of an IPV4 address, string that
                                                                        consists of four decimal integers
                                                                        separated by dots, each integer ranging
                                                                        from 0 to 255. In case of an IPV6
                                                                        address, string that consists of groups
                                                                        of zero to four hexadecimal digits,
                                                                        separated by colons.
                                                                      type: string
                                                                      format: IP
                                                                    maxAddress:
                                                                      description: >
                                                                        An IPV4 or IPV6 address. Representation:
                                                                        In case of an IPV4 address, string that
                                                                        consists of four decimal integers
                                                                        separated by dots, each integer ranging
                                                                        from 0 to 255. In case of an IPV6
                                                                        address, string that consists of groups
                                                                        of zero to four hexadecimal digits,
                                                                        separated by colons.
                                                                      type: string
                                                                      format: IP
                                                                subnetId:
                                                                  description: >
                                                                    An identifier maintained by the VIM or
                                                                    other resource provider. It is expected
                                                                    to be unique within the VIM instance.
                                                                    Representation: string of variable
                                                                    length.
                                                                  type: string
                                extManagedVirtualLinkInfo:
                                  description: >
                                    Information about the externally-managed
                                    internal VLs of the VNF instance.  See note
                                    4 and note 5.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - id
                                      - vnfVirtualLinkDescId
                                    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
                                      vnfVirtualLinkDescId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      networkResource:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      vnfLinkPorts:
                                        description: |
                                          Link ports of this VL.
                                        type: array
                                        items:
                                          type: object
                                          description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                          required:
                                            - id
                                            - resourceHandle
                                          properties:
                                            id:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            resourceHandle:
                                              description: >
                                                This type represents the information
                                                that allows addressing a virtualised
                                                resource that is used by a VNF instance
                                                or by an NS instance. Information about
                                                the resource is available from the VIM.
                                                NOTE: The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle.
                                              type: object
                                              required:
                                                - resourceId
                                              properties:
                                                vimId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceProviderId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                                vimLevelResourceType:
                                                  description: >
                                                    Type of the resource in the scope of the
                                                    VIM, the WIM or the resource provider.
                                                    The value set of the
                                                    "vimLevelResourceType" attribute is
                                                    within the scope of the VIM, the WIM or
                                                    the resource provider and can be used as
                                                    information that complements the
                                                    ResourceHandle. See note.
                                                  type: string
                                            cpInstanceId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            cpInstanceType:
                                              description: >
                                                Type of the CP instance that is
                                                identified by cpInstanceId. Shall be
                                                present if "cpInstanceId" is present,
                                                and shall be absent otherwise. Permitted
                                                values: * VNFC_CP: The link port is
                                                connected to a VNFC CP * EXT_CP: The
                                                link port is associated to an external
                                                CP. See note 1.
                                              type: string
                                              enum:
                                                - VNFC_CP
                                                - EXT_CP
                                            vipCpInstanceId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            trunkResourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                      extManagedMultisiteVirtualLinkId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                monitoringParameters:
                                  description: >
                                    Performance metrics tracked by the VNFM
                                    (e.g. for  auto-scaling purposes) as
                                    identified by the VNF  provider in the VNFD.
                                  type: array
                                  items:
                                    description: >
                                      This type represents a monitoring
                                      parameter that is tracked by the VNFM, for
                                      example,  for auto-scaling purposes. It
                                      shall comply with the provisions defined
                                      in Table 6.5.3.69-1.
                                    type: object
                                    required:
                                      - id
                                      - performanceMetric
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique within a NS
                                          descriptor. Representation: string of
                                          variable length.
                                        type: string
                                      vnfdId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      name:
                                        description: >
                                          Human readable name of the monitoring
                                          parameter, as defined in the VNFD.
                                        type: string
                                      performanceMetric:
                                        description: >
                                          Performance metric that is monitored.
                                          This attribute shall contain the
                                          related  "Measurement Name" value as
                                          defined in clause 7.2 of ETSI GS NFV-IFA
                                          027.
                                        type: string
                                localizationLanguage:
                                  description: >
                                    Information about localization language of
                                    the VNF (includes e.g. strings in the VNFD).
                                    The localization languages supported by a
                                    VNF can be declared in the VNFD, and
                                    localization language selection can take
                                    place at instantiation time. The value shall
                                    comply with the format defined in IETF RFC
                                    5646.
                                  type: string
                                vnfcResourceInfo:
                                  description: >
                                    Information about the virtualised compute
                                    and storage resources used by the VNFCs of
                                    the VNF instance.
                                  type: array
                                  items:
                                    description: "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n"
                                    type: object
                                    required:
                                      - id
                                      - vduId
                                      - computeResource
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      vnfdId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      vduId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      computeResource:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      storageResourceIds:
                                        description: >
                                          References to the VirtualStorage
                                          resources. The value refers to a
                                          VirtualStorageResourceInfo item in the
                                          VnfInstance.
                                        type: array
                                        items:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                      reservationId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      vnfcCpInfo:
                                        description: >
                                          CPs of the VNFC instance. Shall be
                                          present when that particular CP of the
                                          VNFC instance is exposed as an external
                                          CP of the VNF instance or is connected
                                          to an external CP of the VNF
                                          instance.See note 2. May be present
                                          otherwise.
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - id
                                            - cpdId
                                          properties:
                                            id:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            cpdId:
                                              description: >
                                                Identifier of the VNF Virtual Link
                                                Descriptor (VLD) in the VNFD.
                                              type: string
                                            vnfExtCpId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            cpProtocolInfo:
                                              description: >
                                                Network protocol information for this
                                                CP. May be omitted if the VNFC CP is
                                                exposed as an external CP. See note 3.
                                              type: array
                                              items:
                                                description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                                type: object
                                                required:
                                                  - layerProtocol
                                                  - ipOverEthernet
                                                properties:
                                                  layerProtocol:
                                                    description: >
                                                      The identifier of layer(s) and
                                                      protocol(s) associated to the network
                                                      address information. Permitted values:
                                                        - IP_OVER_ETHERNET

                                                      See note.
                                                    type: string
                                                    enum:
                                                      - IP_OVER_ETHERNET
                                                  ipOverEthernet:
                                                    description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                    type: object
                                                    anyOf:
                                                      - required:
                                                          - macAddress
                                                      - required:
                                                          - ipAddresses
                                                    properties:
                                                      macAddress:
                                                        description: >
                                                          A MAC address. Representation: string
                                                          that consists of groups of two
                                                          hexadecimal digits, separated by hyphens
                                                          or colons.
                                                        type: string
                                                        format: MAC
                                                      segmentationId:
                                                        description: >
                                                          Identification of the network segment to
                                                          which the Cp instance connects to. See
                                                          note 3 and note 4.
                                                        type: string
                                                      ipAddresses:
                                                        description: >
                                                          Addresses assigned to the CP instance.
                                                          Each entry represents IP addresses
                                                          assigned by fixed or dynamic IP address
                                                          assignment per subnet. See note 1.
                                                        type: array
                                                        items:
                                                          type: object
                                                          required:
                                                            - type
                                                          oneOf:
                                                            - required:
                                                                - addresses
                                                            - required:
                                                                - addressRange
                                                          properties:
                                                            type:
                                                              description: >
                                                                The type of the IP addresses. Permitted
                                                                values: - IPV4 - IPV6
                                                              type: string
                                                              enum:
                                                                - IPV4
                                                                - IPV6
                                                            addresses:
                                                              description: >
                                                                Fixed addresses assigned (from the
                                                                subnet defined by "subnetId" if
                                                                provided). See note 2.
                                                              type: array
                                                              items:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                            isDynamic:
                                                              description: >
                                                                Indicates whether this set of addresses
                                                                was assigned dynamically (true) or based
                                                                on address information provided as input
                                                                from the API consumer (false). Shall be
                                                                present if "addresses" is present and
                                                                shall be absent otherwise.
                                                              type: boolean
                                                            addressRange:
                                                              description: >
                                                                An IP address range used, e.g., in case
                                                                of egress connections. Exactly one of
                                                                "addresses" or "addressRange" shall be
                                                                present. See note 2.
                                                              type: object
                                                              required:
                                                                - minAddress
                                                                - maxAddress
                                                              properties:
                                                                minAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                                maxAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                            subnetId:
                                                              description: >
                                                                An identifier maintained by the VIM or
                                                                other resource provider. It is expected
                                                                to be unique within the VIM instance.
                                                                Representation: string of variable
                                                                length.
                                                              type: string
                                                      type:
                                                        description: |
                                                          The type of the IP addresses
                                                        type: string
                                                        enum:
                                                          - PV4
                                                          - PV6
                                                      addresses:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      isDynamic:
                                                        description: >
                                                          Indicates whether this set of addresses
                                                          was assigned dynamically (true) or based
                                                          on address information provided as input
                                                          from the API consumer (false). Shall be
                                                          present if "addresses" is present and
                                                          shall be absent otherwise.
                                                        type: boolean
                                                      addressRange:
                                                        description: >
                                                          An IP address range used, e.g. in case
                                                          of egress connections. See note.
                                                        type: object
                                                        required:
                                                          - minAddress
                                                          - maxAddress
                                                        properties:
                                                          minAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          maxAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                      minAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      maxAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      subnetId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                                            parentCpId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            vnfLinkPortId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              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
                                      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
                                vnfVirtualLinkResourceInfo:
                                  description: >
                                    Information about the virtualised network
                                    resources used by the VLs of the VNF
                                    instance. See note 5.
                                  type: array
                                  items:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by an internal VL instance in
                                      a VNF instance.
                                    type: object
                                    required:
                                      - id
                                      - vnfVirtualLinkDescId
                                      - networkResource
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      vnfdId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      vnfVirtualLinkDescId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      networkResource:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      reservationId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      vnfLinkPorts:
                                        description: >
                                          Links ports of this VL. Shall be present
                                          when the linkPort is used for external
                                          connectivity by the VNF (refer to
                                          VnfLinkPortInfo). May be present
                                          otherwise.
                                        type: array
                                        items:
                                          type: object
                                          description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                          required:
                                            - id
                                            - resourceHandle
                                          properties:
                                            id:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            resourceHandle:
                                              description: >
                                                This type represents the information
                                                that allows addressing a virtualised
                                                resource that is used by a VNF instance
                                                or by an NS instance. Information about
                                                the resource is available from the VIM.
                                                NOTE: The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle.
                                              type: object
                                              required:
                                                - resourceId
                                              properties:
                                                vimId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceProviderId:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                                resourceId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                                vimLevelResourceType:
                                                  description: >
                                                    Type of the resource in the scope of the
                                                    VIM, the WIM or the resource provider.
                                                    The value set of the
                                                    "vimLevelResourceType" attribute is
                                                    within the scope of the VIM, the WIM or
                                                    the resource provider and can be used as
                                                    information that complements the
                                                    ResourceHandle. See note.
                                                  type: string
                                            cpInstanceId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            cpInstanceType:
                                              description: >
                                                Type of the CP instance that is
                                                identified by cpInstanceId. Shall be
                                                present if "cpInstanceId" is present,
                                                and shall be absent otherwise. Permitted
                                                values: * VNFC_CP: The link port is
                                                connected to a VNFC CP * EXT_CP: The
                                                link port is associated to an external
                                                CP. See note 1.
                                              type: string
                                              enum:
                                                - VNFC_CP
                                                - EXT_CP
                                            vipCpInstanceId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            trunkResourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              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
                                virtualStorageResourceInfo:
                                  description: >
                                    Information on the virtualised storage
                                    resource(s) used as storage for the VNF
                                    instance.
                                  type: array
                                  items:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                    type: object
                                    required:
                                      - id
                                      - virtualStorageDescId
                                      - storageResource
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      virtualStorageDescId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      vnfdId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      storageResource:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      reservationId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        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
                            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
                            extensions:
                              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
                        vnfcSnapshots:
                          description: >
                            Information about VNFC Snapshots constituting this
                            VNF Snapshot.
                          type: array
                          items:
                            description: "This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1. NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC Snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\". NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot with an associated storage resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n"
                            type: object
                            required:
                              - id
                              - vnfcInstanceId
                              - triggeredAt
                              - createdAt
                              - vnfcInfoId
                            properties:
                              id:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfcInstanceId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              creationStartedAt:
                                description: >
                                  Date-time stamp. Representation: String
                                  formatted according toas defined by the
                                  date-time production in IETF RFC 3339.
                                format: date-time
                              creationFinishedAt:
                                description: >
                                  Date-time stamp. Representation: String
                                  formatted according toas defined by the
                                  date-time production in IETF RFC 3339.
                                format: date-time
                              vnfcResourceInfoId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              computeSnapshotResource:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              storageSnapshotResources:
                                description: >
                                  Reference to the "VirtualStorageResourceInfo"
                                  structure in the "VnfInstance" structure that
                                  represents the virtual storage resource. See
                                  note 2.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - storageResourceId
                                  properties:
                                    storageResourceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    storageSnapshotResources:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          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
                        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
                    _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
  '/vnf_snapshots/{vnfSnapshotInfoId}':
    parameters:
      - name: vnfSnapshotInfoId
        in: path
        description: >
          Identifier of the "Individual VNF snapshot" resource.

          This identifier can be retrieved from the "id" attribute in the
          payload body of a response to a query to

          "VNF snapshots" resource.
        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 retrieves information about a VNF snapshot by reading an
        "Individual VNF snapshot" resource.

        See clause 6.4.20.3.2.
      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 VNF snapshot
            was read successfully.

            The response body shall contain a representation of the "Individual
            VNF snapshot" resource, as defined in clause

            6.5.2.17.
          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:
                description: >
                  This type represents an "Individual VNF snapshot" resource.
                  The "id" attributed is used by the NFVO to index and

                  identify the VNF snapshots information resources that are
                  accessible via the NFVO. The identifier is still

                  generated by the VNFM and copied into the present
                  "VnfSnapshotInfo" representing the "Individual VNF snapshot"

                  resource hold by the NFVO.
                type: object
                required:
                  - id
                properties:
                  id:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfSnapshotPkgId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfSnapshot:
                    description: >
                      This type represents a VNF Snapshot. It shall comply with
                      the provisions defined in table 6.5.2.18-1.
                    type: object
                    required:
                      - id
                      - vnfInstanceId
                      - triggeredAt
                      - createdAt
                      - vnfdId
                      - vnfInstance
                      - vnfcSnapshots
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfInstanceId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      creationStartedAt:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according toas defined by the date-time production in
                          IETF RFC 3339.
                        format: date-time
                      creationFinishedAt:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according toas defined by the date-time production in
                          IETF RFC 3339.
                        format: date-time
                      vnfdId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfInstance:
                        description: >
                          This type represents a VNF instance. It shall comply
                          with the provisions defined in table 6.5.3.57-1.

                          NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides
                          examples illustrating the relationship among the 
                                different run-time information elements (CP, VL and link ports) used to represent the connectivity 
                                of a VNF.

                          NOTE 1: Modifying the value of this attribute shall
                          not be performed when conflicts exist between the 
                                  previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to 
                                  the previous VNFD in other aspects than merely referencing to other VNF software images. 
                                  In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, 
                                  the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall 
                                  be kept in sync with the values in the VNFD.
                          NOTE 2: ETSI GS NFV-SOL 001 specifies the structure
                          and format of the VNFD based on TOSCA specifications.
                          NOTE 3: VNF configurable properties are sometimes also
                          referred to as configuration parameters applicable 
                                  to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, 
                                  some are set prior to instantiation (are part of initial configuration) and can be modified later, 
                                  and others can be set only after instantiation. The applicability of certain configuration may depend 
                                  on the VNF and the required operation of the VNF at a certain point in time.
                          NOTE 4: It is possible to have several
                          ExtManagedVirtualLinkInfo for the same VNF internal VL
                          in case of a 
                                  multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same 
                                  VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed 
                                  multi-site VL instance (refer to clause 6.5.3.59).
                          NOTE 5: Even though externally-managed internal VLs
                          are also used for VNF-internal connectivity, they
                          shall not 
                                  be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
                        type: object
                        required:
                          - id
                          - vnfdId
                          - vnfProvider
                          - vnfProductName
                          - vnfSoftwareVersion
                          - vnfdVersion
                          - vnfPkgId
                          - instantiationState
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfInstanceName:
                            description: >
                              Name of the VNF instance. Modifications to this
                              attribute can be requested using the
                              "ModifyVnfInfoData" structure.
                            type: string
                          vnfInstanceDescription:
                            description: >
                              Human-readable description of the VNF instance.
                              Modifications to this attribute can be requested
                              using the "ModifyVnfInfoData" structure.
                            type: string
                          vnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfProvider:
                            description: >
                              Provider of the VNF and the VNFD. The value is
                              copied from the VNFD.
                            type: string
                          vnfProductName:
                            description: >
                              Name to identify the VNF Product. The value is
                              copied from the VNFD.
                            type: string
                          vnfSoftwareVersion:
                            description: >
                              A Version. Representation: string of variable
                              length.
                            type: string
                          vnfdVersion:
                            description: >
                              A Version. Representation: string of variable
                              length.
                            type: string
                          vnfPkgId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfConfigurableProperties:
                            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
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          instantiationState:
                            description: >
                              The instantiation state of the VNF.

                              Permitted values: - NOT_INSTANTIATED: The VNF
                              instance is terminated or not instantiated. -
                              INSTANTIATED: The VNF instance is instantiated.
                            type: string
                            enum:
                              - NOT_INSTANTIATED
                              - INSTANTIATED
                          instantiatedVnfInfo:
                            description: >
                              Information specific to an instantiated VNF
                              instance. This attribute shall be present if the
                              instantiateState attribute value is INSTANTIATED.
                            type: object
                            required:
                              - flavourId
                              - vnfState
                              - extCpInfo
                            properties:
                              flavourId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfState:
                                type: string
                                enum:
                                  - STARTED
                                  - STOPPED
                              scaleStatus:
                                description: >
                                  Scale status of the VNF, one entry per aspect.
                                  Represents for every scaling aspect how "big"
                                  the VNF has been scaled w.r.t. that aspect.
                                type: array
                                items:
                                  required:
                                    - aspectId
                                    - scaleLevel
                                  type: object
                                  properties:
                                    aspectId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    scaleLevel:
                                      description: >
                                        Indicates the scale level. The minimum
                                        value shall be 0 and the maximum value
                                        shall be <= maxScaleLevel as described
                                        in the VNFD.
                                      type: integer
                              maxScaleLevels:
                                description: >
                                  Maximum allowed scale levels of the VNF, one
                                  entry per aspect. This attribute shall be
                                  present if the VNF supports scaling.
                                type: array
                                items:
                                  required:
                                    - aspectId
                                    - scaleLevel
                                  type: object
                                  properties:
                                    aspectId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    scaleLevel:
                                      description: >
                                        Indicates the scale level. The minimum
                                        value shall be 0 and the maximum value
                                        shall be <= maxScaleLevel as described
                                        in the VNFD.
                                      type: integer
                              extCpInfo:
                                description: >
                                  Information about the external CPs exposed by
                                  the VNF instance. When trunking is enabled,
                                  the list of entries includes both, external
                                  CPs corresponding to parent ports of a trunk,
                                  and external CPs associated to sub-ports of a
                                  trunk.
                                type: array
                                minItems: 1
                                items:
                                  description: "This type represents information about an external CP of a VNF. It shall comply  with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n"
                                  type: object
                                  required:
                                    - id
                                    - cpdId
                                  oneOf:
                                    - required:
                                        - associatedVnfcCpId
                                    - required:
                                        - associatedVnfVirtualLinkId
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpdId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    cpConfigId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    cpProtocolInfo:
                                      description: >
                                        Network protocol information for this
                                        CP.
                                      type: array
                                      minItems: 1
                                      items:
                                        description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                        type: object
                                        required:
                                          - layerProtocol
                                          - ipOverEthernet
                                        properties:
                                          layerProtocol:
                                            description: >
                                              The identifier of layer(s) and
                                              protocol(s) associated to the network
                                              address information. Permitted values:
                                                - IP_OVER_ETHERNET

                                              See note.
                                            type: string
                                            enum:
                                              - IP_OVER_ETHERNET
                                          ipOverEthernet:
                                            description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                            type: object
                                            anyOf:
                                              - required:
                                                  - macAddress
                                              - required:
                                                  - ipAddresses
                                            properties:
                                              macAddress:
                                                description: >
                                                  A MAC address. Representation: string
                                                  that consists of groups of two
                                                  hexadecimal digits, separated by hyphens
                                                  or colons.
                                                type: string
                                                format: MAC
                                              segmentationId:
                                                description: >
                                                  Identification of the network segment to
                                                  which the Cp instance connects to. See
                                                  note 3 and note 4.
                                                type: string
                                              ipAddresses:
                                                description: >
                                                  Addresses assigned to the CP instance.
                                                  Each entry represents IP addresses
                                                  assigned by fixed or dynamic IP address
                                                  assignment per subnet. See note 1.
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - type
                                                  oneOf:
                                                    - required:
                                                        - addresses
                                                    - required:
                                                        - addressRange
                                                  properties:
                                                    type:
                                                      description: >
                                                        The type of the IP addresses. Permitted
                                                        values: - IPV4 - IPV6
                                                      type: string
                                                      enum:
                                                        - IPV4
                                                        - IPV6
                                                    addresses:
                                                      description: >
                                                        Fixed addresses assigned (from the
                                                        subnet defined by "subnetId" if
                                                        provided). See note 2.
                                                      type: array
                                                      items:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                    isDynamic:
                                                      description: >
                                                        Indicates whether this set of addresses
                                                        was assigned dynamically (true) or based
                                                        on address information provided as input
                                                        from the API consumer (false). Shall be
                                                        present if "addresses" is present and
                                                        shall be absent otherwise.
                                                      type: boolean
                                                    addressRange:
                                                      description: >
                                                        An IP address range used, e.g., in case
                                                        of egress connections. Exactly one of
                                                        "addresses" or "addressRange" shall be
                                                        present. See note 2.
                                                      type: object
                                                      required:
                                                        - minAddress
                                                        - maxAddress
                                                      properties:
                                                        minAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        maxAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                    subnetId:
                                                      description: >
                                                        An identifier maintained by the VIM or
                                                        other resource provider. It is expected
                                                        to be unique within the VIM instance.
                                                        Representation: string of variable
                                                        length.
                                                      type: string
                                              type:
                                                description: |
                                                  The type of the IP addresses
                                                type: string
                                                enum:
                                                  - PV4
                                                  - PV6
                                              addresses:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              isDynamic:
                                                description: >
                                                  Indicates whether this set of addresses
                                                  was assigned dynamically (true) or based
                                                  on address information provided as input
                                                  from the API consumer (false). Shall be
                                                  present if "addresses" is present and
                                                  shall be absent otherwise.
                                                type: boolean
                                              addressRange:
                                                description: >
                                                  An IP address range used, e.g. in case
                                                  of egress connections. See note.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                    extLinkPortId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      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
                                    associatedVnfcCpId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    associatedVipCpId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    associatedVnfVirtualLinkId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                              vipCpInfo:
                                description: >
                                  VIP CPs that are part of the VNF instance.
                                  Shall be present when that particular VIP CP
                                  of the VNFC instance is associated to an
                                  external CP of the VNF instance. May be
                                  present otherwise.
                                type: array
                                items:
                                  description: >
                                    This type provides information related to
                                    virtual IP (VIP) CP. It shall comply with
                                    the provisions defined in table 6.5.3.97 1.
                                    NOTE:   It is possible that there is no
                                    associated VnfcCp because the VIP CP is
                                    available but not associated yet.
                                  type: object
                                  required:
                                    - cpInstanceId
                                    - cpdId
                                  properties:
                                    cpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpdId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfExtCpId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpProtocolInfo:
                                      description: >
                                        Protocol information for this CP. There
                                        shall be one cpProtocolInfo for layer 3.
                                        There may be one cpProtocolInfo for
                                        layer 2.
                                      type: array
                                      items:
                                        description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                        type: object
                                        required:
                                          - layerProtocol
                                          - ipOverEthernet
                                        properties:
                                          layerProtocol:
                                            description: >
                                              The identifier of layer(s) and
                                              protocol(s) associated to the network
                                              address information. Permitted values:
                                                - IP_OVER_ETHERNET

                                              See note.
                                            type: string
                                            enum:
                                              - IP_OVER_ETHERNET
                                          ipOverEthernet:
                                            description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                            type: object
                                            anyOf:
                                              - required:
                                                  - macAddress
                                              - required:
                                                  - ipAddresses
                                            properties:
                                              macAddress:
                                                description: >
                                                  A MAC address. Representation: string
                                                  that consists of groups of two
                                                  hexadecimal digits, separated by hyphens
                                                  or colons.
                                                type: string
                                                format: MAC
                                              segmentationId:
                                                description: >
                                                  Identification of the network segment to
                                                  which the Cp instance connects to. See
                                                  note 3 and note 4.
                                                type: string
                                              ipAddresses:
                                                description: >
                                                  Addresses assigned to the CP instance.
                                                  Each entry represents IP addresses
                                                  assigned by fixed or dynamic IP address
                                                  assignment per subnet. See note 1.
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - type
                                                  oneOf:
                                                    - required:
                                                        - addresses
                                                    - required:
                                                        - addressRange
                                                  properties:
                                                    type:
                                                      description: >
                                                        The type of the IP addresses. Permitted
                                                        values: - IPV4 - IPV6
                                                      type: string
                                                      enum:
                                                        - IPV4
                                                        - IPV6
                                                    addresses:
                                                      description: >
                                                        Fixed addresses assigned (from the
                                                        subnet defined by "subnetId" if
                                                        provided). See note 2.
                                                      type: array
                                                      items:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                    isDynamic:
                                                      description: >
                                                        Indicates whether this set of addresses
                                                        was assigned dynamically (true) or based
                                                        on address information provided as input
                                                        from the API consumer (false). Shall be
                                                        present if "addresses" is present and
                                                        shall be absent otherwise.
                                                      type: boolean
                                                    addressRange:
                                                      description: >
                                                        An IP address range used, e.g., in case
                                                        of egress connections. Exactly one of
                                                        "addresses" or "addressRange" shall be
                                                        present. See note 2.
                                                      type: object
                                                      required:
                                                        - minAddress
                                                        - maxAddress
                                                      properties:
                                                        minAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        maxAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                    subnetId:
                                                      description: >
                                                        An identifier maintained by the VIM or
                                                        other resource provider. It is expected
                                                        to be unique within the VIM instance.
                                                        Representation: string of variable
                                                        length.
                                                      type: string
                                              type:
                                                description: |
                                                  The type of the IP addresses
                                                type: string
                                                enum:
                                                  - PV4
                                                  - PV6
                                              addresses:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              isDynamic:
                                                description: >
                                                  Indicates whether this set of addresses
                                                  was assigned dynamically (true) or based
                                                  on address information provided as input
                                                  from the API consumer (false). Shall be
                                                  present if "addresses" is present and
                                                  shall be absent otherwise.
                                                type: boolean
                                              addressRange:
                                                description: >
                                                  An IP address range used, e.g. in case
                                                  of egress connections. See note.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                    associatedVnfcCpIds:
                                      description: >
                                        Identifiers of the VnfcCps that share
                                        the virtual IP addresse allocated to the
                                        VIP CP instance. See note.
                                      type: array
                                      items:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                    vnfLinkPortId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    metadata:
                                      description: >
                                        Allows the OSS/BSS to provide additional
                                        parameter(s) to the termination process
                                        at the NS level.
                                      type: array
                                      items:
                                        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
                              extVirtualLinkInfo:
                                description: >
                                  Information about the external VLs the VNF
                                  instance is connected to.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - id
                                    - resourceHandle
                                  properties:
                                    id:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceHandle:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    extLinkPorts:
                                      description: |
                                        Link ports of this VL.
                                      type: array
                                      items:
                                        description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                        type: object
                                        required:
                                          - id
                                          - resourceHandle
                                        properties:
                                          id:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceHandle:
                                            description: >
                                              This type represents the information
                                              that allows addressing a virtualised
                                              resource that is used by a VNF instance
                                              or by an NS instance. Information about
                                              the resource is available from the VIM.
                                              NOTE: The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle.
                                            type: object
                                            required:
                                              - resourceId
                                            properties:
                                              vimId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceProviderId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                              vimLevelResourceType:
                                                description: >
                                                  Type of the resource in the scope of the
                                                  VIM, the WIM or the resource provider.
                                                  The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle. See note.
                                                type: string
                                          cpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          secondaryCpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          trunkResourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                    currentVnfExtCpData:
                                      description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                      type: object
                                      required:
                                        - cpdId
                                      properties:
                                        cpdId:
                                          description: >
                                            Identifier of the VNF Virtual Link
                                            Descriptor (VLD) in the VNFD.
                                          type: string
                                        cpConfig:
                                          description: >
                                            Map of instance data that need to be
                                            configured on the CP instances  created
                                            from the respective CPD. The key of the
                                            map which identifies  the individual
                                            VnfExtCpConfig entries is of type
                                            "IdentifierInVnf"  and is managed by the
                                            API consumer. The entries shall be
                                            applied by  the VNFM according to the
                                            rules of JSON Merge Patch (see IETF RFC
                                            7396 [11]).  See notes 2, 3 and 4.
                                          type: object
                                          additionalProperties:
                                            description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                            type: object
                                            anyOf:
                                              - required:
                                                  - linkPortId
                                              - required:
                                                  - cpProtocolData
                                            properties:
                                              parentCpConfigId:
                                                description: >
                                                  An identifier that is unique for the
                                                  respective type within a VNF instance,
                                                  but may not be globally unique.
                                                type: string
                                              linkPortId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              createExtLinkPort:
                                                description: >
                                                  Indicates the need to create a dedicated
                                                  link port for the external CP. If set to
                                                  True, a link port is created. If set to
                                                  False, no link port is created. This
                                                  attribute is only applicable for
                                                  external CP instances without a floating
                                                  IP address that expose a VIP CP instance
                                                  for which a dedicated IP address is
                                                  allocated. It shall be present in that
                                                  case and shall be absent otherwise.
                                                type: boolean
                                              cpProtocolData:
                                                description: >
                                                  Parameters for configuring the network
                                                  protocols on the link port that connects
                                                  the CP to a VL. See note 1.
                                                type: array
                                                items:
                                                  description: >
                                                    This type represents network protocol
                                                    data.
                                                  type: object
                                                  required:
                                                    - layerProtocol
                                                  properties:
                                                    layerProtocol:
                                                      description: >
                                                        Identifier of layer(s) and protocol(s).
                                                        Permitted values: IP_OVER_ETHERNET.
                                                      type: string
                                                      enum:
                                                        - IP_OVER_ETHERNET
                                                    ipOverEthernet:
                                                      description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                      type: object
                                                      anyOf:
                                                        - required:
                                                            - ipAddresses
                                                        - required:
                                                            - macAddress
                                                      properties:
                                                        macAddress:
                                                          description: >
                                                            A MAC address. Representation: string
                                                            that consists of groups of two
                                                            hexadecimal digits, separated by hyphens
                                                            or colons.
                                                          type: string
                                                          format: MAC
                                                        segmentationType:
                                                          description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                          type: string
                                                          enum:
                                                            - VLAN
                                                            - INHERIT
                                                        segmentationId:
                                                          description: >
                                                            Identification of the network segment to
                                                            which the CP instance connects to. See
                                                            note 3 and note 4.
                                                          type: string
                                                        ipAddresses:
                                                          description: >
                                                            List of IP addresses to assign to the CP
                                                            instance. Each entry represents IP
                                                            address data for fixed or dynamic IP
                                                            address assignment per subnet. If this
                                                            attribute is not present, no IP address
                                                            shall be assigned. See note 1.
                                                          type: array
                                                          items:
                                                            type: object
                                                            required:
                                                              - type
                                                            oneOf:
                                                              - required:
                                                                  - fixedAddresses
                                                              - required:
                                                                  - numDynamicAddresses
                                                              - required:
                                                                  - addressRange
                                                            properties:
                                                              type:
                                                                description: >
                                                                  The type of the IP addresses. Permitted
                                                                  values:
                                                                    - IPV4
                                                                    - IPV6
                                                                type: string
                                                                enum:
                                                                  - IPV4
                                                                  - IPV6
                                                              fixedAddresses:
                                                                description: >
                                                                  Fixed addresses to assign (from the
                                                                  subnet defined by "subnetId" if
                                                                  provided). Exactly one of
                                                                  "fixedAddresses", "numDynamicAddresses"
                                                                  or "ipAddressRange" shall be present.
                                                                type: array
                                                                items:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                              numDynamicAddresses:
                                                                description: >
                                                                  Number of dynamic addresses to assign
                                                                  (from the subnet defined by "subnetId"
                                                                  if provided). See note 2.
                                                                type: integer
                                                              addressRange:
                                                                description: >
                                                                  An IP address range to be used, e.g. in
                                                                  case of egress connections. In case this
                                                                  attribute is present, IP addresses from
                                                                  the range will be used.
                                                                type: object
                                                                required:
                                                                  - minAddress
                                                                  - maxAddress
                                                                properties:
                                                                  minAddress:
                                                                    description: >
                                                                      An IPV4 or IPV6 address. Representation:
                                                                      In case of an IPV4 address, string that
                                                                      consists of four decimal integers
                                                                      separated by dots, each integer ranging
                                                                      from 0 to 255. In case of an IPV6
                                                                      address, string that consists of groups
                                                                      of zero to four hexadecimal digits,
                                                                      separated by colons.
                                                                    type: string
                                                                    format: IP
                                                                  maxAddress:
                                                                    description: >
                                                                      An IPV4 or IPV6 address. Representation:
                                                                      In case of an IPV4 address, string that
                                                                      consists of four decimal integers
                                                                      separated by dots, each integer ranging
                                                                      from 0 to 255. In case of an IPV6
                                                                      address, string that consists of groups
                                                                      of zero to four hexadecimal digits,
                                                                      separated by colons.
                                                                    type: string
                                                                    format: IP
                                                              subnetId:
                                                                description: >
                                                                  An identifier maintained by the VIM or
                                                                  other resource provider. It is expected
                                                                  to be unique within the VIM instance.
                                                                  Representation: string of variable
                                                                  length.
                                                                type: string
                              extManagedVirtualLinkInfo:
                                description: >
                                  Information about the externally-managed
                                  internal VLs of the VNF instance.  See note 4
                                  and note 5.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - id
                                    - vnfVirtualLinkDescId
                                  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
                                    vnfVirtualLinkDescId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    networkResource:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    vnfLinkPorts:
                                      description: |
                                        Link ports of this VL.
                                      type: array
                                      items:
                                        type: object
                                        description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                        required:
                                          - id
                                          - resourceHandle
                                        properties:
                                          id:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          resourceHandle:
                                            description: >
                                              This type represents the information
                                              that allows addressing a virtualised
                                              resource that is used by a VNF instance
                                              or by an NS instance. Information about
                                              the resource is available from the VIM.
                                              NOTE: The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle.
                                            type: object
                                            required:
                                              - resourceId
                                            properties:
                                              vimId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceProviderId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                              vimLevelResourceType:
                                                description: >
                                                  Type of the resource in the scope of the
                                                  VIM, the WIM or the resource provider.
                                                  The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle. See note.
                                                type: string
                                          cpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          cpInstanceType:
                                            description: >
                                              Type of the CP instance that is
                                              identified by cpInstanceId. Shall be
                                              present if "cpInstanceId" is present,
                                              and shall be absent otherwise. Permitted
                                              values: * VNFC_CP: The link port is
                                              connected to a VNFC CP * EXT_CP: The
                                              link port is associated to an external
                                              CP. See note 1.
                                            type: string
                                            enum:
                                              - VNFC_CP
                                              - EXT_CP
                                          vipCpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          trunkResourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                    extManagedMultisiteVirtualLinkId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                              monitoringParameters:
                                description: >
                                  Performance metrics tracked by the VNFM (e.g.
                                  for  auto-scaling purposes) as identified by
                                  the VNF  provider in the VNFD.
                                type: array
                                items:
                                  description: >
                                    This type represents a monitoring parameter
                                    that is tracked by the VNFM, for example, 
                                    for auto-scaling purposes. It shall comply
                                    with the provisions defined in Table
                                    6.5.3.69-1.
                                  type: object
                                  required:
                                    - id
                                    - performanceMetric
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique within a NS
                                        descriptor. Representation: string of
                                        variable length.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    name:
                                      description: >
                                        Human readable name of the monitoring
                                        parameter, as defined in the VNFD.
                                      type: string
                                    performanceMetric:
                                      description: >
                                        Performance metric that is monitored.
                                        This attribute shall contain the
                                        related  "Measurement Name" value as
                                        defined in clause 7.2 of ETSI GS NFV-IFA
                                        027.
                                      type: string
                              localizationLanguage:
                                description: >
                                  Information about localization language of the
                                  VNF (includes e.g. strings in the VNFD). The
                                  localization languages supported by a VNF can
                                  be declared in the VNFD, and localization
                                  language selection can take place at
                                  instantiation time. The value shall comply
                                  with the format defined in IETF RFC 5646.
                                type: string
                              vnfcResourceInfo:
                                description: >
                                  Information about the virtualised compute and
                                  storage resources used by the VNFCs of the VNF
                                  instance.
                                type: array
                                items:
                                  description: "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n"
                                  type: object
                                  required:
                                    - id
                                    - vduId
                                    - computeResource
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vduId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    computeResource:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    storageResourceIds:
                                      description: >
                                        References to the VirtualStorage
                                        resources. The value refers to a
                                        VirtualStorageResourceInfo item in the
                                        VnfInstance.
                                      type: array
                                      items:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                    reservationId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfcCpInfo:
                                      description: >
                                        CPs of the VNFC instance. Shall be
                                        present when that particular CP of the
                                        VNFC instance is exposed as an external
                                        CP of the VNF instance or is connected
                                        to an external CP of the VNF
                                        instance.See note 2. May be present
                                        otherwise.
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - id
                                          - cpdId
                                        properties:
                                          id:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          cpdId:
                                            description: >
                                              Identifier of the VNF Virtual Link
                                              Descriptor (VLD) in the VNFD.
                                            type: string
                                          vnfExtCpId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          cpProtocolInfo:
                                            description: >
                                              Network protocol information for this
                                              CP. May be omitted if the VNFC CP is
                                              exposed as an external CP. See note 3.
                                            type: array
                                            items:
                                              description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                              type: object
                                              required:
                                                - layerProtocol
                                                - ipOverEthernet
                                              properties:
                                                layerProtocol:
                                                  description: >
                                                    The identifier of layer(s) and
                                                    protocol(s) associated to the network
                                                    address information. Permitted values:
                                                      - IP_OVER_ETHERNET

                                                    See note.
                                                  type: string
                                                  enum:
                                                    - IP_OVER_ETHERNET
                                                ipOverEthernet:
                                                  description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                  type: object
                                                  anyOf:
                                                    - required:
                                                        - macAddress
                                                    - required:
                                                        - ipAddresses
                                                  properties:
                                                    macAddress:
                                                      description: >
                                                        A MAC address. Representation: string
                                                        that consists of groups of two
                                                        hexadecimal digits, separated by hyphens
                                                        or colons.
                                                      type: string
                                                      format: MAC
                                                    segmentationId:
                                                      description: >
                                                        Identification of the network segment to
                                                        which the Cp instance connects to. See
                                                        note 3 and note 4.
                                                      type: string
                                                    ipAddresses:
                                                      description: >
                                                        Addresses assigned to the CP instance.
                                                        Each entry represents IP addresses
                                                        assigned by fixed or dynamic IP address
                                                        assignment per subnet. See note 1.
                                                      type: array
                                                      items:
                                                        type: object
                                                        required:
                                                          - type
                                                        oneOf:
                                                          - required:
                                                              - addresses
                                                          - required:
                                                              - addressRange
                                                        properties:
                                                          type:
                                                            description: >
                                                              The type of the IP addresses. Permitted
                                                              values: - IPV4 - IPV6
                                                            type: string
                                                            enum:
                                                              - IPV4
                                                              - IPV6
                                                          addresses:
                                                            description: >
                                                              Fixed addresses assigned (from the
                                                              subnet defined by "subnetId" if
                                                              provided). See note 2.
                                                            type: array
                                                            items:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                          isDynamic:
                                                            description: >
                                                              Indicates whether this set of addresses
                                                              was assigned dynamically (true) or based
                                                              on address information provided as input
                                                              from the API consumer (false). Shall be
                                                              present if "addresses" is present and
                                                              shall be absent otherwise.
                                                            type: boolean
                                                          addressRange:
                                                            description: >
                                                              An IP address range used, e.g., in case
                                                              of egress connections. Exactly one of
                                                              "addresses" or "addressRange" shall be
                                                              present. See note 2.
                                                            type: object
                                                            required:
                                                              - minAddress
                                                              - maxAddress
                                                            properties:
                                                              minAddress:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                              maxAddress:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                          subnetId:
                                                            description: >
                                                              An identifier maintained by the VIM or
                                                              other resource provider. It is expected
                                                              to be unique within the VIM instance.
                                                              Representation: string of variable
                                                              length.
                                                            type: string
                                                    type:
                                                      description: |
                                                        The type of the IP addresses
                                                      type: string
                                                      enum:
                                                        - PV4
                                                        - PV6
                                                    addresses:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    isDynamic:
                                                      description: >
                                                        Indicates whether this set of addresses
                                                        was assigned dynamically (true) or based
                                                        on address information provided as input
                                                        from the API consumer (false). Shall be
                                                        present if "addresses" is present and
                                                        shall be absent otherwise.
                                                      type: boolean
                                                    addressRange:
                                                      description: >
                                                        An IP address range used, e.g. in case
                                                        of egress connections. See note.
                                                      type: object
                                                      required:
                                                        - minAddress
                                                        - maxAddress
                                                      properties:
                                                        minAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        maxAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                    minAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    subnetId:
                                                      description: >
                                                        An identifier maintained by the VIM or
                                                        other resource provider. It is expected
                                                        to be unique within the VIM instance.
                                                        Representation: string of variable
                                                        length.
                                                      type: string
                                          parentCpId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          vnfLinkPortId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            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
                                    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
                              vnfVirtualLinkResourceInfo:
                                description: >
                                  Information about the virtualised network
                                  resources used by the VLs of the VNF instance.
                                  See note 5.
                                type: array
                                items:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by an internal VL instance in a
                                    VNF instance.
                                  type: object
                                  required:
                                    - id
                                    - vnfVirtualLinkDescId
                                    - networkResource
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfVirtualLinkDescId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    networkResource:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    reservationId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    vnfLinkPorts:
                                      description: >
                                        Links ports of this VL. Shall be present
                                        when the linkPort is used for external
                                        connectivity by the VNF (refer to
                                        VnfLinkPortInfo). May be present
                                        otherwise.
                                      type: array
                                      items:
                                        type: object
                                        description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                        required:
                                          - id
                                          - resourceHandle
                                        properties:
                                          id:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          resourceHandle:
                                            description: >
                                              This type represents the information
                                              that allows addressing a virtualised
                                              resource that is used by a VNF instance
                                              or by an NS instance. Information about
                                              the resource is available from the VIM.
                                              NOTE: The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle.
                                            type: object
                                            required:
                                              - resourceId
                                            properties:
                                              vimId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceProviderId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                              vimLevelResourceType:
                                                description: >
                                                  Type of the resource in the scope of the
                                                  VIM, the WIM or the resource provider.
                                                  The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle. See note.
                                                type: string
                                          cpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          cpInstanceType:
                                            description: >
                                              Type of the CP instance that is
                                              identified by cpInstanceId. Shall be
                                              present if "cpInstanceId" is present,
                                              and shall be absent otherwise. Permitted
                                              values: * VNFC_CP: The link port is
                                              connected to a VNFC CP * EXT_CP: The
                                              link port is associated to an external
                                              CP. See note 1.
                                            type: string
                                            enum:
                                              - VNFC_CP
                                              - EXT_CP
                                          vipCpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          trunkResourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            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
                              virtualStorageResourceInfo:
                                description: >
                                  Information on the virtualised storage
                                  resource(s) used as storage for the VNF
                                  instance.
                                type: array
                                items:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance.
                                  type: object
                                  required:
                                    - id
                                    - virtualStorageDescId
                                    - storageResource
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    virtualStorageDescId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfdId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    storageResource:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    reservationId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      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
                          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
                          extensions:
                            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
                      vnfcSnapshots:
                        description: >
                          Information about VNFC Snapshots constituting this VNF
                          Snapshot.
                        type: array
                        items:
                          description: "This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1. NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC Snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\". NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot with an associated storage resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n"
                          type: object
                          required:
                            - id
                            - vnfcInstanceId
                            - triggeredAt
                            - createdAt
                            - vnfcInfoId
                          properties:
                            id:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vnfcInstanceId:
                              description: >
                                An identifier that is unique for the respective
                                type within a VNF instance, but may not be
                                globally unique.
                              type: string
                            creationStartedAt:
                              description: >
                                Date-time stamp. Representation: String
                                formatted according toas defined by the
                                date-time production in IETF RFC 3339.
                              format: date-time
                            creationFinishedAt:
                              description: >
                                Date-time stamp. Representation: String
                                formatted according toas defined by the
                                date-time production in IETF RFC 3339.
                              format: date-time
                            vnfcResourceInfoId:
                              description: >
                                An identifier that is unique for the respective
                                type within a VNF instance, but may not be
                                globally unique.
                              type: string
                            computeSnapshotResource:
                              description: >
                                This type represents the information that allows
                                addressing a virtualised resource that is used
                                by a VNF instance or by an NS instance.
                                Information about the resource is available from
                                the VIM. NOTE: The value set of the
                                "vimLevelResourceType" attribute is within the
                                scope of the VIM, the WIM or the resource
                                provider and can be used as information that
                                complements the ResourceHandle.
                              type: object
                              required:
                                - resourceId
                              properties:
                                vimId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceProviderId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceId:
                                  description: >
                                    An identifier maintained by the VIM or other
                                    resource provider. It is expected to be
                                    unique within the VIM instance.
                                    Representation: string of variable length.
                                  type: string
                                vimLevelResourceType:
                                  description: >
                                    Type of the resource in the scope of the
                                    VIM, the WIM or the resource provider. The
                                    value set of the "vimLevelResourceType"
                                    attribute is within the scope of the VIM,
                                    the WIM or the resource provider and can be
                                    used as information that complements the
                                    ResourceHandle. See note.
                                  type: string
                            storageSnapshotResources:
                              description: >
                                Reference to the "VirtualStorageResourceInfo"
                                structure in the "VnfInstance" structure that
                                represents the virtual storage resource. See
                                note 2.
                              type: array
                              items:
                                type: object
                                required:
                                  - storageResourceId
                                properties:
                                  storageResourceId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  storageSnapshotResources:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        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
                      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
                  _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:
      description: >
        This method deletes an "Individual VNF snapshot" resource and the
        associated VNF snapshot information managed by

        the NFVO and corresponding VNFM, and any resource associated to the VNF
        snapshot managed by the VIM.

        See clause 6.4.20.3.5.
      responses:
        '204':
          description: >
            204 NO CONTENT

            Shall be returned when the VNF snapshot resource and the associated
            VNF snapshot were 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
            WWW-Authenticate:
              description: >
                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
        '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
components:
  parameters:
    filter:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of ETSI GS
        NFV SOL 013. The NFVO shall support receiving this parameter as part of
        the URI query string.  The OSS/BSS may supply this parameter. All
        attribute names that appear in the NsInstance and in data types
        referenced from  it shall be supported by the NFVO in the filter
        expression.
      in: query
      required: false
      schema:
        type: string
    exclude_default:
      name: exclude_default
      in: query
      description: "Indicates to exclude the following complex attributes from the response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The NFVO shall support this parameter. The 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 -\twanConnectionInfo"
      required: false
      schema:
        type: string
    NsInstanceId:
      name: nsInstanceId
      in: path
      description: |
        Identifier of the NS instance.
      required: true
      style: simple
      explode: false
      schema:
        type: string
    NsLcmOpOccId:
      name: nsLcmOpOccId
      in: path
      description: |
        Identifier of a NS lifecycle management operation occurrence.
      required: true
      style: simple
      explode: false
      schema:
        type: string
    SubscriptionId:
      name: subscriptionId
      in: path
      description: |
        Identifier of this subscription.
      required: true
      style: simple
      explode: false
      schema:
        type: string
    VnfSnapshotInfoId:
      name: vnfSnapshotInfoId
      in: path
      description: >
        Identifier of the "Individual VNF snapshot" resource.

        This identifier can be retrieved from the "id" attribute in the payload
        body of a response to a query to

        "VNF snapshots" resource.
      required: true
      style: simple
      explode: false
      schema:
        type: string
  requestBodies:
    NsInstanceCreateRequest:
      description: |
        The NS creation parameters, as defined in clause 6.5.2.7.
      content:
        application/json:
          schema:
            type: object
            required:
              - nsdId
              - nsName
              - nsDescription
            properties:
              nsdId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              nsName:
                description: |
                  Human-readable name of the NS instance to be created.
                type: string
              nsDescription:
                description: |
                  Human-readable description of the NS instance to be created.
                type: string
      required: true
    NsInstanceInstantiateRequest:
      description: >
        Parameters for the instantiate NS operation, as defined in clause
        6.5.2.11.
      content:
        application/json:
          schema:
            type: object
            description: "This type represents request parameters for the \"Instantiate NS\" operation.\nNOTE 1: The DF of the VNF instance shall match the VNF DF present in the associated VNF Profile. NOTE 2:\tThe NS DF of each nested NS shall be one of the allowed flavours in the associated\n  NSD (as referenced in the nestedNsd attribute of the NSD of the NS to be instantiated).\nNOTE 3:\tThe NSD of each referenced NSs (i.e. each nestedInstanceId) shall match the one of the nested NSD in the composite NSD. NOTE 4:\tWhen the NS is deployed over several sites, the VLs of this NS will include VNs in each site connected over the WAN. In this case, the \"wanConnectionData\" provides the needed information required to connect each VN to the WAN. Annex E provides additional information and guidelines about the usage of the \"wanConnectionData\" attribute.\n"
            required:
              - nsFlavourId
            properties:
              nsFlavourId:
                description: >
                  An identifier that is unique within a NS descriptor.
                  Representation: string of variable length.
                type: string
              sapData:
                description: |
                  Create data concerning the SAPs of this NS.
                type: array
                items:
                  description: >
                    This type represents the information related to a SAP of a
                    NS. It shall comply with the provisions defined in Table
                    6.5.3.10-1.
                  type: object
                  required:
                    - sapdId
                    - sapName
                    - description
                  properties:
                    sapdId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    sapName:
                      description: |
                        Human readable name for the SAP.
                      type: string
                    description:
                      description: |
                        Human readable description for the SAP.
                      type: string
                    sapProtocolData:
                      description: >
                        Parameters for configuring the network protocols on the
                        SAP.
                      type: array
                      items:
                        description: |
                          This type represents network protocol data.
                        type: object
                        required:
                          - layerProtocol
                        properties:
                          layerProtocol:
                            description: >
                              Identifier of layer(s) and protocol(s). Permitted
                              values: IP_OVER_ETHERNET.
                            type: string
                            enum:
                              - IP_OVER_ETHERNET
                          ipOverEthernet:
                            description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                            type: object
                            anyOf:
                              - required:
                                  - ipAddresses
                              - required:
                                  - macAddress
                            properties:
                              macAddress:
                                description: >
                                  A MAC address. Representation: string that
                                  consists of groups of two hexadecimal digits,
                                  separated by hyphens or colons.
                                type: string
                                format: MAC
                              segmentationType:
                                description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                type: string
                                enum:
                                  - VLAN
                                  - INHERIT
                              segmentationId:
                                description: >
                                  Identification of the network segment to which
                                  the CP instance connects to. See note 3 and
                                  note 4.
                                type: string
                              ipAddresses:
                                description: >
                                  List of IP addresses to assign to the CP
                                  instance. Each entry represents IP address
                                  data for fixed or dynamic IP address
                                  assignment per subnet. If this attribute is
                                  not present, no IP address shall be assigned.
                                  See note 1.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - type
                                  oneOf:
                                    - required:
                                        - fixedAddresses
                                    - required:
                                        - numDynamicAddresses
                                    - required:
                                        - addressRange
                                  properties:
                                    type:
                                      description: >
                                        The type of the IP addresses. Permitted
                                        values:
                                          - IPV4
                                          - IPV6
                                      type: string
                                      enum:
                                        - IPV4
                                        - IPV6
                                    fixedAddresses:
                                      description: >
                                        Fixed addresses to assign (from the
                                        subnet defined by "subnetId" if
                                        provided). Exactly one of
                                        "fixedAddresses", "numDynamicAddresses"
                                        or "ipAddressRange" shall be present.
                                      type: array
                                      items:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                    numDynamicAddresses:
                                      description: >
                                        Number of dynamic addresses to assign
                                        (from the subnet defined by "subnetId"
                                        if provided). See note 2.
                                      type: integer
                                    addressRange:
                                      description: >
                                        An IP address range to be used, e.g. in
                                        case of egress connections. In case this
                                        attribute is present, IP addresses from
                                        the range will be used.
                                      type: object
                                      required:
                                        - minAddress
                                        - maxAddress
                                      properties:
                                        minAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        maxAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                    subnetId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
              addpnfData:
                description: |
                  Information on the PNF(s) that are part of this NS.
                type: array
                items:
                  description: >
                    This type specifies an PNF to be added to the NS instance
                    and the PNF Profile to use for this PNF. It shall comply
                    with the provisions defined in Table 6.5.3.14-1.
                  type: object
                  required:
                    - pnfId
                    - pnfName
                    - pnfdId
                    - pnfProfileId
                  properties:
                    pnfId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfName:
                      description: |
                        Name of the PNF
                      type: string
                    pnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    cpData:
                      description: |
                        Address assigned for the PNF external CP(s).
                      type: array
                      items:
                        description: >
                          This type represents the configuration data on the
                          external CP of the PNF. It shall comply with the
                          provisions defined in Table 6.5.3.16-1.
                        type: object
                        required:
                          - cpProtocolData
                        properties:
                          cpInstanceId:
                            description: >
                              An Identifier that is unique within respect to a
                              PNF. Representation: string of variable length.
                            type: string
                          cpdId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          cpProtocolData:
                            description: |
                              Address assigned for this CP.
                            type: array
                            items:
                              description: |
                                This type represents network protocol data.
                              type: object
                              required:
                                - layerProtocol
                              properties:
                                layerProtocol:
                                  description: >
                                    Identifier of layer(s) and protocol(s).
                                    Permitted values: IP_OVER_ETHERNET.
                                  type: string
                                  enum:
                                    - IP_OVER_ETHERNET
                                ipOverEthernet:
                                  description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                  type: object
                                  anyOf:
                                    - required:
                                        - ipAddresses
                                    - required:
                                        - macAddress
                                  properties:
                                    macAddress:
                                      description: >
                                        A MAC address. Representation: string
                                        that consists of groups of two
                                        hexadecimal digits, separated by hyphens
                                        or colons.
                                      type: string
                                      format: MAC
                                    segmentationType:
                                      description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                      type: string
                                      enum:
                                        - VLAN
                                        - INHERIT
                                    segmentationId:
                                      description: >
                                        Identification of the network segment to
                                        which the CP instance connects to. See
                                        note 3 and note 4.
                                      type: string
                                    ipAddresses:
                                      description: >
                                        List of IP addresses to assign to the CP
                                        instance. Each entry represents IP
                                        address data for fixed or dynamic IP
                                        address assignment per subnet. If this
                                        attribute is not present, no IP address
                                        shall be assigned. See note 1.
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - type
                                        oneOf:
                                          - required:
                                              - fixedAddresses
                                          - required:
                                              - numDynamicAddresses
                                          - required:
                                              - addressRange
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values:
                                                - IPV4
                                                - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          fixedAddresses:
                                            description: >
                                              Fixed addresses to assign (from the
                                              subnet defined by "subnetId" if
                                              provided). Exactly one of
                                              "fixedAddresses", "numDynamicAddresses"
                                              or "ipAddressRange" shall be present.
                                            type: array
                                            items:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                          numDynamicAddresses:
                                            description: >
                                              Number of dynamic addresses to assign
                                              (from the subnet defined by "subnetId"
                                              if provided). See note 2.
                                            type: integer
                                          addressRange:
                                            description: >
                                              An IP address range to be used, e.g. in
                                              case of egress connections. In case this
                                              attribute is present, IP addresses from
                                              the range will be used.
                                            type: object
                                            required:
                                              - minAddress
                                              - maxAddress
                                            properties:
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          subnetId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
              vnfInstanceData:
                description: >
                  Specify an existing VNF instance to be used in the NS. If
                  needed, the VNF Profile to be used for this VNF instance is
                  also provided. See note 1.
                type: array
                items:
                  description: >
                    This type specifies an existing VNF instance to be used in
                    the NS instance and if needed, the VNF Profile to use for
                    this VNF instance. It shall comply with the provisions
                    defined in Table 6.5.3.19-1.
                  type: object
                  required:
                    - vnfInstanceId
                    - vnfProfileId
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
              nestedNsInstanceData:
                description: >
                  Specify an existing NS instance to be used as a nested NS
                  within the NS. If needed, the NS Profile to be used for this
                  nested NS  instance is also provided. See note 2 and note 3.
                type: array
                items:
                  description: >
                    This type specifies an existing nested NS instance to be
                    used in the NS instance  and if needed, the NsProfile to use
                    for this nested NS instance.  It shall comply with the
                    provisions defined in Table 6.5.3.19a-1.
                  type: object
                  required:
                    - nestedNsInstanceId
                  properties:
                    nestedNsInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    nsProfileId:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
              locationConstraints:
                description: >
                  Defines the location constraints for the VNF to be
                  instantiated as part of the NS instantiation. An example can
                  be a constraint for the VNF to be in a specific geographic
                  location..
                type: array
                items:
                  description: >
                    This type represents the association of location constraints
                    to a VNF instance to be created according to a specific VNF
                    profile. It shall comply with the provisions defined in
                    Table 6.5.3.20-1.

                    NOTE: these constraints are typically determined by the
                    OSS/BSS from service requirements (e.g. latency
                    requirements, regulatory requirements). The NFVO can map
                    such location constraints to eligible NFVI-PoPs/resource
                    zones where the VNF instance is to be created.
                  type: object
                  required:
                    - vnfProfileId
                  properties:
                    vnfProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    locationConstraints:
                      description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                      type: object
                      properties:
                        countryCode:
                          description: >
                            The two-letter ISO 3166 country code in capital
                            letters. Shall be present in case the "area"
                            attribute is absent. May be absent if the "area"
                            attribute is present (see note).
                          type: string
                        civicAddressElement:
                          description: >
                            Zero or more elements comprising the civic address.
                            Shall be absent if the "area" attribute is present.
                          type: array
                          items:
                            type: object
                            required:
                              - caType
                              - caValue
                            properties:
                              caType:
                                description: >
                                  Describe the content type of caValue. The
                                  value of caType shall comply with Section 3.4
                                  of IETF RFC 4776 [13].
                                type: integer
                              caValue:
                                description: >
                                  Content of civic address element corresponding
                                  to the caType. The format caValue shall comply
                                  with Section 3.4 of IETF RFC 4776 [13].
                                type: string
                        area:
                          description: >
                            Geographic area. Shall be absent if the
                            "civicAddressElement" attribute is present. The
                            content of this attribute shall follow the
                            provisions for the "Polygon" geometry object as
                            defined in IETF RFC 7946, for which the "type"
                            member shall be set to the value "Polygon". See
                            note.
                          type: object
              nestedNsLocationConstraints:
                description: >
                  Defines the location constraints for the nested NS to be
                  instantiated as part of the NS instantiation. An example can
                  be a constraint for the nested NS to be in a specific
                  geographic location.
                type: array
                items:
                  description: >
                    This type represents the association of location constraints
                    to a nested NS instance to be created according to a
                    specific NS profile. It shall comply with the provisions
                    defined in Table 6.5.3.96-1.

                    NOTE: These constraints are typically determined by the
                    OSS/BSS from service requirements (e.g. latency
                    requirements, regulatory requirements). The NFVO can map
                    such location constraints to eligible NFVI-PoPs/resource
                    zones where the VNF instances as part of the nested NS are
                    to be created.
                  type: object
                  required:
                    - nsProfileId
                    - locationConstraints
                  properties:
                    nsProfileId:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    locationConstraints:
                      description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                      type: object
                      properties:
                        countryCode:
                          description: >
                            The two-letter ISO 3166 country code in capital
                            letters. Shall be present in case the "area"
                            attribute is absent. May be absent if the "area"
                            attribute is present (see note).
                          type: string
                        civicAddressElement:
                          description: >
                            Zero or more elements comprising the civic address.
                            Shall be absent if the "area" attribute is present.
                          type: array
                          items:
                            type: object
                            required:
                              - caType
                              - caValue
                            properties:
                              caType:
                                description: >
                                  Describe the content type of caValue. The
                                  value of caType shall comply with Section 3.4
                                  of IETF RFC 4776 [13].
                                type: integer
                              caValue:
                                description: >
                                  Content of civic address element corresponding
                                  to the caType. The format caValue shall comply
                                  with Section 3.4 of IETF RFC 4776 [13].
                                type: string
                        area:
                          description: >
                            Geographic area. Shall be absent if the
                            "civicAddressElement" attribute is present. The
                            content of this attribute shall follow the
                            provisions for the "Polygon" geometry object as
                            defined in IETF RFC 7946, for which the "type"
                            member shall be set to the value "Polygon". See
                            note.
                          type: object
              additionalParamsForNs:
                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
              additionalParamsForNestedNs:
                description: >
                  Allows the OSS/BSS to provide additional parameter(s) per
                  nested NS instance (as opposed to the composite NS level,
                  which is covered in additionalParamsForNs, and as opposed to
                  the VNF level, which is covered in additionalParamsForVnf).
                  This is for nested NS instances that are to be created by the
                  NFVO as part of the NS instantiation and not for existing
                  nested NS instances that are referenced for reuse.
                type: array
                items:
                  description: >
                    This type specifies additional parameters on a per-nested NS
                    instance basis.  It shall comply with the provisions defined
                    in Table 6.5.3.21a-1.
                  type: object
                  required:
                    - nsProfileId
                  properties:
                    nsProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    additionalParam:
                      description: >
                        Additional parameters that are to be applied on a per
                        nested NS instance.
                      type: array
                      items:
                        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
              additionalParamsForVnf:
                description: >
                  Allows the OSS/BSS to provide additional parameter(s) per VNF
                  instance (as opposed to the composite NS level,  which is
                  covered in additionalParamsForNs and as opposed  to the nested
                  NS level, which is covered in  additionalParamsForNestedNs).
                  This is for VNFs that are to be created by the NFVO as part of
                  the NS instantiation  and not for existing VNF that are
                  referenced for reuse.
                type: array
                items:
                  description: >
                    This type defines the additional parameters for the VNF
                    instance to be created associated with an NS instance. It
                    shall comply with the provisions defined in Table
                    6.5.3.22-1.
                  type: object
                  required:
                    - vnfProfileId
                  properties:
                    vnfProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    vnfInstanceName:
                      description: |
                        Human-readable name of the VNF instance to be created.
                      type: string
                    vnfInstanceDescription:
                      description: >
                        Human-readable description of the VNF instance to be
                        created.
                      type: string
                    vnfConfigurableProperties:
                      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
                    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
                    extensions:
                      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
                    additionalParams:
                      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
              startTime:
                description: >
                  Date-time stamp. Representation: String formatted according
                  toas defined by the date-time production in IETF RFC 3339.
                format: date-time
              nsInstantiationLevelId:
                description: >
                  An identifier that is unique within a NS descriptor.
                  Representation: string of variable length.
                type: string
              wanConnectionData:
                description: >
                  Information for connecting VNs to the WAN when VLs are
                  deployed across a WAN. See note 4.
                type: array
                items:
                  description: "This type provides information used to connect the comprising network resources realizing a VL, e.g., when the VL\nis deployed on several sites and across a WAN. It shall comply with the provisions defined in table 6.5.3.80-1.\nNOTE:\tEither a \"nsVirtualLink\" or a \"vnfVirtualLink\" shall be provided, but not both.\n"
                  type: object
                  required:
                    - protocolData
                  oneOf:
                    - required:
                        - nsVirtualLink
                    - required:
                        - vnfVirtualLink
                  properties:
                    nsVirtualLink:
                      description: >
                        Information used to identify the NS VL for which the WAN
                        connectivity data is applicable. See note.
                      type: object
                      required:
                        - nsVirtualLinkDescId
                        - nsVirtualLinkProfileId
                      properties:
                        nsVirtualLinkDescId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        nsVirtualLinkProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                    vnfVirtualLink:
                      description: >
                        Information used to identify the VNF VL for which the
                        WAN connectivity data is applicable. Either a
                        "nsVirtualLink" or a "vnfVirtualLink" shall be provided,
                        but not both.
                      type: object
                      required:
                        - vnfProfileId
                        - vnfVirtualLinkDescId
                        - vnfVirtualLinkProfileId
                      properties:
                        vnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        vnfVirtualLinkDescId:
                          description: >
                            Identifier of the VNF Virtual Link Descriptor (VLD)
                            in the VNFD.
                          type: string
                        vnfVirtualLinkProfileId:
                          description: >
                            Identifier of the VNF Virtual Link Descriptor (VLD)
                            in the VNFD.
                          type: string
                    protocolData:
                      description: >
                        This type provides protocol specific information used to
                        connect the comprising network resources realizing a VL,
                        e.g., when the VL is deployed on several sites and
                        across a WAN. This type supports signalling input
                        information about both pre-provisioned WAN connectivity
                        realized by external entities to NFV-MANO, as well as
                        for the creation of MSCS under NFV-MANO responsibility
                        (i.e., when connectivity is realized when NFVO
                        communicates with the WIM). It shall comply with the
                        provisions defined in table 6.5.3.81-1. NOTE: At least
                        one of these attributes shall be present. Annex E
                        documents the applicability of certain attributes
                        depending on the WAN and NFVI-PoP network management and
                        the responsibilities of NFV-MANO in its provisioning.
                      type: object
                      anyOf:
                        - required:
                            - mscsInfo
                        - required:
                            - connectivityServiceEndpointConfigDatas
                        - required:
                            - mscsConfigData
                      properties:
                        mscsInfo:
                          description: >
                            This type provides information about an already
                            provisioned multi-site connectivity service (MSCS)
                            deployed across a WAN. It shall comply with the
                            provisions defined in Table 6.5.3.82-1.
                          type: object
                          required:
                            - mscsId
                            - mscsType
                          properties:
                            mscsId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            mscsName:
                              description: |
                                Human readable name of the MSCS.
                              type: string
                            mscsDescription:
                              description: |
                                Human readable description of the MSCS.
                              type: string
                            mscsType:
                              description: "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n"
                              type: string
                              enum:
                                - L2VPN
                                - L3VPN
                            mscsLayerProtocol:
                              description: "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n"
                              type: string
                              enum:
                                - EVPN_BGP_MPLS
                                - EVPN_VPWS
                                - VPLS_BGP
                                - VPLS_LDP
                                - VPWS
                                - BGP_IP_VPN
                            siteAccessProtectionSchemes:
                              description: >
                                Information to determine the proper MSCS
                                endpoints configuration to fulfil certain
                                resiliency/protection requirements, e.g., by
                                considering certain availability and redundancy
                                of connectivity service endpoints in between
                                NFVI-PoP and WAN.
                              type: array
                              items:
                                type: object
                                properties:
                                  locationConstraints:
                                    description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                                    type: object
                                    properties:
                                      countryCode:
                                        description: >
                                          The two-letter ISO 3166 country code in
                                          capital letters. Shall be present in
                                          case the "area" attribute is absent. May
                                          be absent if the "area" attribute is
                                          present (see note).
                                        type: string
                                      civicAddressElement:
                                        description: >
                                          Zero or more elements comprising the
                                          civic address. Shall be absent if the
                                          "area" attribute is present.
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - caType
                                            - caValue
                                          properties:
                                            caType:
                                              description: >
                                                Describe the content type of caValue.
                                                The value of caType shall comply with
                                                Section 3.4 of IETF RFC 4776 [13].
                                              type: integer
                                            caValue:
                                              description: >
                                                Content of civic address element
                                                corresponding to the caType. The format
                                                caValue shall comply with Section 3.4 of
                                                IETF RFC 4776 [13].
                                              type: string
                                      area:
                                        description: >
                                          Geographic area. Shall be absent if the
                                          "civicAddressElement" attribute is
                                          present. The content of this attribute
                                          shall follow the provisions for the
                                          "Polygon" geometry object as defined in
                                          IETF RFC 7946, for which the "type"
                                          member shall be set to the value
                                          "Polygon". See note.
                                        type: object
                                  protectionScheme:
                                    description: "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n"
                                    type: string
                                    enum:
                                      - UNPROTECTED
                                      - ONE_TO_ONE
                                      - ONE_PLUS_ONE
                                      - ONE_TO_N
                            mtuMscs:
                              description: >
                                Maximum Transmission Unit (MTU) that can be
                                forwarded over the MSCS (in bytes). Default
                                value is "1500" (bytes).
                              type: number
                            mscsEndpoints:
                              description: >
                                Information about the MSCS endpoints of the
                                MSCS.
                              type: array
                              items:
                                description: >
                                  This type provides encapsulates information
                                  about an MSCS endpoint of the MSCS. It shall
                                  comply with the provisions defined in table
                                  6.5.3.83-1.
                                type: object
                                required:
                                  - mscsEndpointId
                                  - directionality
                                  - connectivityServiceEndpoinId
                                properties:
                                  mscsEndpointId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  directionality:
                                    description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                    type: string
                                    enum:
                                      - INBOUND
                                      - OUTBOUND
                                      - BOTH
                                  connectivityServiceEndpoinId:
                                    description: >
                                      References the connectivity service
                                      endpoint configuration information
                                      applicable to support the MSCS endpoint.
                                      More than one connectivity service
                                      endpoint can be referred when endpoints
                                      are in LAG mode.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                        connectivityServiceEndpointConfigDatas:
                          description: >
                            Configuration data for the network resources in the
                            NFVI-PoP. See note.
                          type: array
                          items:
                            description: >
                              This type provides configuration data for the
                              NFVI-PoP network gateway providing connectivity
                              service endpoints. The connectivity service
                              endpoints are used as endpoints by an MSCS. It
                              shall comply with the provisions defined in Table
                              6.5.3.84-1.
                            type: object
                            required:
                              - connectivityServiceEndpointId
                              - vimId
                            properties:
                              connectivityServiceEndpointId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              siteToWanLayer2ProtocolData:
                                description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                type: object
                                required:
                                  - layer2ConnectionInfo
                                properties:
                                  layer2ConnectionInfo:
                                    description: >
                                      Layer 2 protocol parameters of the
                                      connectivity service endpoint (CSE).
                                    type: object
                                    required:
                                      - connectionType
                                      - interfaceType
                                      - interfaceTagging
                                      - encapsulationType
                                    properties:
                                      connectionType:
                                        description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                        type: string
                                        enum:
                                          - CSE
                                          - AGGREGATE_CSE
                                      interfaceType:
                                        description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                        type: string
                                        enum:
                                          - PARENT
                                          - LOGICAL
                                      interfaceTagging:
                                        description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                        type: string
                                        enum:
                                          - UNTAGGED
                                          - TAGGED
                                      encapsulationType:
                                        description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                        type: string
                                        enum:
                                          - ETH
                                          - VLAN
                                          - VXLAN
                                      vlanTaggingType:
                                        description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                        type: string
                                        enum:
                                          - DOT1Q
                                          - QINQ
                                          - QINANY
                                      wanSegmentIds:
                                        description: >
                                          Segment identifiers to pass on the
                                          tagged interface. Shall be present if
                                          encapsulationType="VLAN" or “VXLAN".
                                        type: object
                                        required:
                                          - wanSegmentIdValue
                                        properties:
                                          wanSegmentIdValue:
                                            description: >
                                              Identifier of the network segment (e.g.,
                                              VLAN id or VNI).
                                            type: string
                                          wanSegmentIdUpperRange:
                                            description: >
                                              Identifier of the upper range network
                                              segment, in case the "wanSegmentIds" is
                                              used to define a range.
                                            type: string
                                      vxlanConfig:
                                        description: >
                                          Additional configuration needed when
                                          using VXLAN encapsulation. Shall be
                                          present if interfaceTagging="TAGGED" and
                                          encapsulationType="VXLAN".
                                        type: object
                                        required:
                                          - peerMode
                                        properties:
                                          peerMode:
                                            description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                            type: string
                                            enum:
                                              - STATIC
                                              - BGP_EVPN
                                          peers:
                                            description: >
                                              List of IP addresses of VTEP peers when
                                              using static mode.
                                            type: array
                                            items:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                      lagInterfaceData:
                                        description: >
                                          Information for setting up a LAG
                                          interface aggregating multiple
                                          connectivity service endpoints.
                                        type: object
                                        required:
                                          - aggregatedEndpoints
                                          - lacpActivation
                                          - lacpConfig
                                        properties:
                                          aggregatedEndpoints:
                                            description: >
                                              List of the connectivity service
                                              endpoints that are to be aggregated.
                                              Shall be present if
                                              connectionType="AGGREGATE_CSE". In case
                                              of aggregating connectivity service
                                              endpoints, only one
                                              SiteToWanLayer2ProtocolData shall be
                                              provided for the whole set of aggregated
                                              endpoints.
                                            type: array
                                            items:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                          lacpActivation:
                                            description: >
                                              Indicates whether to activate LACP on
                                              the interface. If "TRUE", the LACP is to
                                              be activated, or "FALSE" otherwise.
                                              Default value is "FALSE".
                                            type: boolean
                                          lacpConfig:
                                            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
                                      layer2ControlProtocol:
                                        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
                                  mtuL2:
                                    description: >
                                      Maximum Transmission Unit (MTU) that can
                                      be forwarded at layer 2 (in bytes).
                                      Default value is "1500" (bytes).
                                    type: number
                                  virtualRoutingAndForwarding:
                                    description: >
                                      Configuration related to the L2 virtual
                                      routing and forwarding (MAC-VRF).
                                    type: object
                                    required:
                                      - macVrfName
                                    properties:
                                      macVrfName:
                                        description: >
                                          Name (or identifier) of the MAC-VRF
                                          instance.
                                        type: string
                                  forwardingConfig:
                                    description: >
                                      Information related to the forwarding of
                                      the VN in the NFVI-PoP to the connectivity
                                      service endpoint, if information about the
                                      VN to "stitch" is already known. . by the
                                      OSS/BSS. Shall not be provided otherwise,
                                      in which case the NFVO will infer the
                                      forwarding configuration based on the NS
                                      VL, or external VL, or externally-managed
                                      VL provisioning.
                                    type: object
                                    oneOf:
                                      - required:
                                          - networkResources
                                      - required:
                                          - vnSegmentIds
                                    properties:
                                      networkResources:
                                        description: >
                                          Reference to the VN resource to be
                                          forwarded into/from the MSCS. See note.
                                        type: array
                                        items:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                      vnSegmentIds:
                                        description: >
                                          Identifiers of the network segments of
                                          the VN resources to be forwarded
                                          into/from the MSCS.
                                        type: object
                                        required:
                                          - vnSegmentIdValue
                                        properties:
                                          vnSegmentIdValue:
                                            description: |
                                              Identifier of the network segment.
                                            type: string
                                          vnSegmentIdUpperRange:
                                            description: >
                                              Identifier of the upper range network
                                              segment, in case the "vnSegmentIds" is
                                              used to define a range.
                                            type: string
                              siteToWanLayer3ProtocolData:
                                description: >
                                  This type provides information about Layer 3
                                  protocol specific information for the
                                  stitching of the intra-site VN to the
                                  multi-site connectivity service over the WAN.
                                  It shall comply with the provisions defined in
                                  Table 6.5.3.86-1.
                                type: object
                                required:
                                  - routingInfo
                                properties:
                                  logicalInterfaceIpAddress:
                                    description: >
                                      IP addressing information associated to a
                                      logical interface. Shall be present if the
                                      "interfaceType" of the
                                      SiteToWanLayer2ProtocolData is equal to
                                      "LOGICAL".
                                    type: object
                                    required:
                                      - ipAddress
                                      - associatedSegmentId
                                    properties:
                                      ipAddress:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                      associatedSegmentId:
                                        description: >
                                          The associated segment identifier that
                                          has triggered the creation of the
                                          logical interface. The value shall be
                                          one of the values listed in the
                                          "wanSegmentIds" of the
                                          "siteToWanLayer2ProtocolData".
                                        type: string
                                  routingInfo:
                                    description: >
                                      The routing information that is activated
                                      on the connectivity service endpoint. More
                                      than one "routingInfo" is allowed to
                                      enable stacking different routing
                                      protocols (e.g., one routing protocol for
                                      IPv4 and another one for IPv6).
                                    type: object
                                    required:
                                      - routingProtocol
                                      - routingAddressFamily
                                    properties:
                                      routingProtocol:
                                        description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                        type: string
                                        enum:
                                          - BGP
                                          - RIP
                                          - OSPF
                                          - STATIC
                                          - DIRECT
                                          - VRRP
                                      staticRouting:
                                        description: >
                                          Defines a static route. It shall only be
                                          present if the routingProtocol="STATIC".
                                        type: object
                                        required:
                                          - ipVersion
                                          - ipPrefix
                                          - prefixSize
                                          - nextHop
                                        properties:
                                          ipVersion:
                                            description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          ipPrefix:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          prefixSize:
                                            description: |
                                              The IP prefix size.
                                            type: number
                                          nextHop:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                      routingAddressFamily:
                                        description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                        type: string
                                        enum:
                                          - IPV4
                                          - IPv6
                                      ospfRouting:
                                        description: >
                                          Defines parameters for OSPF routing. It
                                          shall only be present if the
                                          routingProtocol="OSPF".
                                        type: object
                                        required:
                                          - areaId
                                        properties:
                                          areaId:
                                            description: >
                                              The routing area identifier, e.g., a
                                              number or an IP address.
                                            type: string
                                      bgpRouting:
                                        description: >
                                          Defines parameters for BGP routing. It
                                          shall only be present if the
                                          routingProtocol="BGP".
                                        type: object
                                        required:
                                          - bgpAs
                                        properties:
                                          bgpAs:
                                            description: >
                                              The Autonomous System (AS)
                                              identification applicable to the BGP
                                              routing info entry.
                                            type: object
                                          bgpNeighbour:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          bgpAdditionalParam:
                                            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
                                      routeMapsDistribution:
                                        description: >
                                          Maps of routes that are permitted or
                                          denied for redistribution.
                                        type: object
                                        required:
                                          - policy
                                          - sequence
                                          - matchAndSetRule
                                        properties:
                                          policy:
                                            description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                            type: string
                                            enum:
                                              - PERMIT
                                              - DENY
                                          sequence:
                                            description: >
                                              Sequence or index number assigned to the
                                              route-map.
                                            type: number
                                          matchAndSetRule:
                                            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
                                  mtuL3:
                                    description: >
                                      Maximum Transmission Unit (MTU) that can
                                      be forwarded at layer 3 (in bytes).
                                      Default value is "1500" (bytes).
                                    type: number
                                  virtualRoutingAndForwarding:
                                    description: >
                                      Configuration related to the virtual
                                      routing and forwarding (VRF).
                                    type: object
                                    required:
                                      - vrfName
                                    properties:
                                      vrfName:
                                        description: >
                                          Name (or identifier) of the VRF
                                          instance.
                                        type: string
                                  bfdConfig:
                                    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
                        mscsConfigData:
                          description: >
                            This type provides configuration data for the
                            creation of an MSCS. It shall comply with the
                            provisions defined in Table 6.5.3.87-1.
                          type: object
                          required:
                            - mscsType
                          properties:
                            mscsType:
                              description: "The type of connectivity that is requested to be provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n"
                              type: string
                              enum:
                                - L2
                                - L3
                            siteAccessProtectionSchemes:
                              description: >
                                Information to determine the proper MSCS
                                endpoints configuration to fulfil certain
                                resiliency/protection requirements, e.g., by
                                considering certain availability and redundancy
                                of connectivity service endpoints in between
                                NFVI-PoP and WAN.
                              type: array
                              items:
                                type: object
                                required:
                                  - locationConstraints
                                  - protectionScheme
                                properties:
                                  locationConstraints:
                                    description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                                    type: object
                                    properties:
                                      countryCode:
                                        description: >
                                          The two-letter ISO 3166 country code in
                                          capital letters. Shall be present in
                                          case the "area" attribute is absent. May
                                          be absent if the "area" attribute is
                                          present (see note).
                                        type: string
                                      civicAddressElement:
                                        description: >
                                          Zero or more elements comprising the
                                          civic address. Shall be absent if the
                                          "area" attribute is present.
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - caType
                                            - caValue
                                          properties:
                                            caType:
                                              description: >
                                                Describe the content type of caValue.
                                                The value of caType shall comply with
                                                Section 3.4 of IETF RFC 4776 [13].
                                              type: integer
                                            caValue:
                                              description: >
                                                Content of civic address element
                                                corresponding to the caType. The format
                                                caValue shall comply with Section 3.4 of
                                                IETF RFC 4776 [13].
                                              type: string
                                      area:
                                        description: >
                                          Geographic area. Shall be absent if the
                                          "civicAddressElement" attribute is
                                          present. The content of this attribute
                                          shall follow the provisions for the
                                          "Polygon" geometry object as defined in
                                          IETF RFC 7946, for which the "type"
                                          member shall be set to the value
                                          "Polygon". See note.
                                        type: object
                                  protectionScheme:
                                    description: "Defines the protection scheme. Permitted values: -\tUNPROTECTED -\tONE_TO_ONE -\tONE_PLUS_ONE -\tONE_TO_N\n"
                                    type: string
                                    enum:
                                      - UNPROTECTED
                                      - ONE_TO_ONE
                                      - ONE_PLUS_ONE
                                      - ONE_TO_N
                            mtuMscs:
                              description: >
                                Maximum Transmission Unit (MTU) that can be
                                forwarded over the MSCS (in bytes). Default
                                value is "1500" (bytes).
                              type: number
                            wanLayer2ProtocolData:
                              description: >
                                This type provides information about Layer 2
                                protocol specific information for the
                                configuration of the MSCS over the WAN. It shall
                                comply with the provisions defined in Table
                                6.5.3.88-1.
                              type: object
                              required:
                                - isSegmentPreservation
                                - isSegmentCosPreservation
                              properties:
                                mscsLayer2Protocol:
                                  description: "Type of underlying connectivity service and protocol associated to the type of MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. - EVPN_VPWS: as specified in IETF RFC 8214. -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762 and IETF RFC 6074. -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074.\n"
                                  type: string
                                  enum:
                                    - EVPN_BGP_MPLS
                                    - EVPN_VPWS
                                    - VPLS_BGP
                                    - VPLS_LDP_L2TP
                                    - VPWS_LDP_L2TP
                                isSegmentPreservation:
                                  description: >
                                    Indicates the requirement of whether to
                                    ensure network segment (e.g., VLAN id)
                                    preservation across the MSCS endpoints
                                    (i.e., from/to the NFVI-PoPs). If "TRUE",
                                    segment identifiers shall be preserved,
                                    "FALSE" otherwise. Default value is "FALSE".
                                  type: boolean
                                isSegmentCosPreservation:
                                  description: >
                                    Indicates the requirement of whether to
                                    ensure network segment class of service
                                    preservation across the MSCS endpoints
                                    (i.e., from/to the NFVI-PoPs). If "TRUE",
                                    segment class of service shall be preserved,
                                    "FALSE" otherwise. Default value is "FALSE".
                                  type: boolean
                            wanLayer3ProtocolData:
                              description: "Type of underlying connectivity service and protocol associated to the type of MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364.\n"
                              type: string
                              enum:
                                - BGP_IP_VPN
              additionalAffinityOrAntiAffinityRule:
                description: >
                  Specifies additional affinity or anti-affinity constraint for
                  the VNF instances to be instantiated as part of the NS
                  instantiation. Shall not conflict with rules already specified
                  in the NSD.
                type: array
                items:
                  description: >
                    This type describes the additional affinity or anti-affinity
                    rule applicable between the VNF instances to be instantiated
                    in the NS instantiation operation request or between the VNF
                    instances to be instantiated in the NS instantiation
                    operation request and the existing VNF instances..
                  type: object
                  required:
                    - affinityOrAntiAffiinty
                    - scope
                  properties:
                    vnfdId:
                      description: >
                        Reference to a VNFD. When the VNFD which is not used to
                        instantiate VNF, it presents all VNF instances of this
                        type as the subjects of the affinity or anti-affinity
                        rule. The VNF instance which the VNFD presents is not
                        necessary as a part of the NS to be instantiated.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    vnfProfileId:
                      description: >
                        Reference to a vnfProfile defined in the NSD. At least
                        one VnfProfile which is used to instantiate VNF for the
                        NS to be instantiated as the subject of the affinity or
                        anti-affinity rule shall be present. When the VnfProfile
                        which is not used to instantiate VNF, it presents all
                        VNF instances of this type as the subjects of the
                        affinity or anti-affinity rule. The VNF instance which
                        the VnfProfile presents is not necessary as a part of
                        the NS to be instantiated.
                      type: array
                      items:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                    vnfInstanceId:
                      description: >
                        Reference to the existing VNF instance as the subject of
                        the affinity or anti-affinity rule. The existing VNF
                        instance is not necessary as a part of the NS to be
                        instantiated.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    affinityOrAntiAffiinty:
                      description: >
                        The type of the constraint. Permitted values: AFFINITY
                        ANTI_AFFINITY.
                      type: string
                      enum:
                        - AFFINITY
                        - ANTI_AFFINITY
                    scope:
                      description: >
                        Specifies the scope of the rule where the placement
                        constraint applies. Permitted values: NFVI_POP ZONE
                        ZONE_GROUP NFVI_NODE.
                      type: string
                      enum:
                        - NFVI_POP
                        - ZONE
                        - ZONE_GROUP
                        - NFVI_NODE
      required: true
    NsInstanceScaleRequest:
      description: |
        Parameters for the scale NS operation, as defined in clause 6.5.2.14.
      content:
        application/json:
          schema:
            description: "This type represents a request for the scale NS operation. Either the parameter scaleNsData or the parameter scaleVnfData, but not both shall be provided\nNOTE:\tEither the parameter scaleNsData or the parameter scaleVnfData, but not both shall be provided.\n"
            type: object
            required:
              - scaleType
            oneOf:
              - required:
                  - scaleNsData
              - required:
                  - scaleVnfData
            properties:
              scaleType:
                description: >
                  Indicates the type of scaling to be performed. Possible
                  values: - SCALE_NS - SCALE_VNF
                type: string
                enum:
                  - SCALE_NS
                  - SCALE_VNF
              scaleNsData:
                description: "This type represents the information to scale a NS. NOTE 1:\tNo more than two attributes between vnfInstanceToBeAdded, vnfInstanceToBeRemoved, scaleNsByStepsData and scaleNsToLevelData shall be present. In case of two, the attributes shall be vnfInstanceToBeAdded and vnfInstanceToBeRemoved. NOTE 2:\tThe DF of the VNF instance shall match the VNF DF present in the associated VNF Profile of the new NS flavour. NOTE 3:\tThis functionality is the same as the one provided by the Update NS operation when the AddVnf update type is selected (see clause 7.3.5). NOTE 4:\tThis functionality is the same as the one provided by the Update NS operation when the RemoveVnf update type is selected (see clause 7.3.5).\n"
                type: object
                properties:
                  vnfInstanceToBeAdded:
                    description: >
                      An existing VNF instance to be added to the NS instance as
                      part of the scaling operation. If needed, the VNF Profile
                      to be used for this VNF instance may also be provided. See
                      note 1, note 2 and note 3.
                    type: array
                    items:
                      description: >
                        This type specifies an existing VNF instance to be used
                        in the NS instance and if needed, the VNF Profile to use
                        for this VNF instance. It shall comply with the
                        provisions defined in Table 6.5.3.19-1.
                      type: object
                      required:
                        - vnfInstanceId
                        - vnfProfileId
                      properties:
                        vnfInstanceId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                  vnfInstanceToBeRemoved:
                    description: >
                      The VNF instance to be removed from the NS instance as
                      part of the scaling operation. See note 1 and note 4.
                    type: array
                    items:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                  scaleNsByStepsData:
                    description: >
                      This type represents the information used to scale an NS
                      instance by one or more scaling steps, with respect to a
                      particular NS scaling aspect. Performing a scaling step
                      means increasing/decreasing the capacity of an NS instance
                      in a discrete manner, i.e. moving from one NS scale level
                      to another. The NS scaling aspects and their corresponding
                      NS scale levels applicable to the NS instance are declared
                      in the NSD.
                    type: object
                    required:
                      - scalingDirection
                      - aspectId
                    properties:
                      scalingDirection:
                        description: >
                          The scaling direction. Possible values are: - SCALE_IN
                          - SCALE_OUT.
                        type: string
                        enum:
                          - SCALE_IN
                          - SCALE_OUT
                      aspectId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      numberOfSteps:
                        description: >
                          The number of scaling steps to be performed. Defaults
                          to 1.
                        type: integer
                        default: 1
                  scaleNsToLevelData:
                    description: "This type represents the information used to scale an NS instance to a target size. The target size is either expressed as an NS instantiation level or as a list of NS scale levels, one per NS scaling aspect, of the current DF. The NS instantiation levels, the NS scaling aspects and their corresponding NS scale levels applicable to the NS instance are declared in the NSD. NOTE:\tEither nsInstantiationLevel or nsScaleInfo, but not both, shall be present.\n"
                    type: object
                    oneOf:
                      - required:
                          - nsInstantiationLevel
                      - required:
                          - nsScaleInfo
                    properties:
                      nsInstantiationLevel:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      nsScaleInfo:
                        description: >
                          For each NS scaling aspect of the current DF, defines
                          the target NS scale level to which the NS instance is
                          to be scaled. See note.
                        type: array
                        items:
                          description: >
                            This type represents the target NS Scale level for
                            each NS scaling aspect of the current deployment
                            flavor.
                          type: object
                          required:
                            - nsScalingAspectId
                            - nsScaleLevelId
                          properties:
                            nsScalingAspectId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                            nsScaleLevelId:
                              description: >
                                An identifier that is unique within a NS
                                descriptor. Representation: string of variable
                                length.
                              type: string
                  additionalParamsForNs:
                    description: >
                      This type defines the additional parameters for the VNF
                      instance to be created associated with an NS instance. It
                      shall comply with the provisions defined in Table
                      6.5.3.22-1.
                    type: object
                    required:
                      - vnfProfileId
                    properties:
                      vnfProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      vnfInstanceName:
                        description: |
                          Human-readable name of the VNF instance to be created.
                        type: string
                      vnfInstanceDescription:
                        description: >
                          Human-readable description of the VNF instance to be
                          created.
                        type: string
                      vnfConfigurableProperties:
                        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
                      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
                      extensions:
                        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
                      additionalParams:
                        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
                  additionalParamsForVnf:
                    description: >
                      Allows the OSS/BSS to provide additional parameter(s) per
                      VNF instance (as opposed to the NS level, which is covered
                      in additionalParamsforNs). This is for VNFs that are to be
                      created by the NFVO as part of the NS scaling and not for
                      existing VNF that are covered by the scaleVnfData.
                    type: array
                    items:
                      description: >
                        This type defines the additional parameters for the VNF
                        instance to be created associated with an NS instance.
                        It shall comply with the provisions defined in Table
                        6.5.3.22-1.
                      type: object
                      required:
                        - vnfProfileId
                      properties:
                        vnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        vnfInstanceName:
                          description: >
                            Human-readable name of the VNF instance to be
                            created.
                          type: string
                        vnfInstanceDescription:
                          description: >
                            Human-readable description of the VNF instance to be
                            created.
                          type: string
                        vnfConfigurableProperties:
                          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
                        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
                        extensions:
                          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
                        additionalParams:
                          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
                  locationConstraints:
                    description: >
                      The location constraints for the VNF to be instantiated as
                      part of the NS scaling. An example can be a constraint for
                      the VNF to be in a specific geographic location.
                    type: array
                    items:
                      description: >
                        This type represents the association of location
                        constraints to a VNF instance to be created according to
                        a specific VNF profile. It shall comply with the
                        provisions defined in Table 6.5.3.20-1.

                        NOTE: these constraints are typically determined by the
                        OSS/BSS from service requirements (e.g. latency
                        requirements, regulatory requirements). The NFVO can map
                        such location constraints to eligible NFVI-PoPs/resource
                        zones where the VNF instance is to be created.
                      type: object
                      required:
                        - vnfProfileId
                      properties:
                        vnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        locationConstraints:
                          description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                          type: object
                          properties:
                            countryCode:
                              description: >
                                The two-letter ISO 3166 country code in capital
                                letters. Shall be present in case the "area"
                                attribute is absent. May be absent if the "area"
                                attribute is present (see note).
                              type: string
                            civicAddressElement:
                              description: >
                                Zero or more elements comprising the civic
                                address. Shall be absent if the "area" attribute
                                is present.
                              type: array
                              items:
                                type: object
                                required:
                                  - caType
                                  - caValue
                                properties:
                                  caType:
                                    description: >
                                      Describe the content type of caValue. The
                                      value of caType shall comply with Section
                                      3.4 of IETF RFC 4776 [13].
                                    type: integer
                                  caValue:
                                    description: >
                                      Content of civic address element
                                      corresponding to the caType. The format
                                      caValue shall comply with Section 3.4 of
                                      IETF RFC 4776 [13].
                                    type: string
                            area:
                              description: >
                                Geographic area. Shall be absent if the
                                "civicAddressElement" attribute is present. The
                                content of this attribute shall follow the
                                provisions for the "Polygon" geometry object as
                                defined in IETF RFC 7946, for which the "type"
                                member shall be set to the value "Polygon". See
                                note.
                              type: object
                  nestedNsLocationConstraints:
                    description: >
                      Defines the location constraints for the nested NS to be
                      instantiated as part of the NS instantiation. An example
                      can be a constraint for the nested NS to be in a specific
                      geographic location.
                    type: array
                    items:
                      description: >
                        This type represents the association of location
                        constraints to a nested NS instance to be created
                        according to a specific NS profile. It shall comply with
                        the provisions defined in Table 6.5.3.96-1.

                        NOTE: These constraints are typically determined by the
                        OSS/BSS from service requirements (e.g. latency
                        requirements, regulatory requirements). The NFVO can map
                        such location constraints to eligible NFVI-PoPs/resource
                        zones where the VNF instances as part of the nested NS
                        are to be created.
                      type: object
                      required:
                        - nsProfileId
                        - locationConstraints
                      properties:
                        nsProfileId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        locationConstraints:
                          description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                          type: object
                          properties:
                            countryCode:
                              description: >
                                The two-letter ISO 3166 country code in capital
                                letters. Shall be present in case the "area"
                                attribute is absent. May be absent if the "area"
                                attribute is present (see note).
                              type: string
                            civicAddressElement:
                              description: >
                                Zero or more elements comprising the civic
                                address. Shall be absent if the "area" attribute
                                is present.
                              type: array
                              items:
                                type: object
                                required:
                                  - caType
                                  - caValue
                                properties:
                                  caType:
                                    description: >
                                      Describe the content type of caValue. The
                                      value of caType shall comply with Section
                                      3.4 of IETF RFC 4776 [13].
                                    type: integer
                                  caValue:
                                    description: >
                                      Content of civic address element
                                      corresponding to the caType. The format
                                      caValue shall comply with Section 3.4 of
                                      IETF RFC 4776 [13].
                                    type: string
                            area:
                              description: >
                                Geographic area. Shall be absent if the
                                "civicAddressElement" attribute is present. The
                                content of this attribute shall follow the
                                provisions for the "Polygon" geometry object as
                                defined in IETF RFC 7946, for which the "type"
                                member shall be set to the value "Polygon". See
                                note.
                              type: object
              scaleVnfData:
                description: >
                  The necessary information to scale the referenced NS instance.
                  It shall be present when scaleType = SCALE_VNF. See note.
                type: array
                items:
                  description: "This type represents defines the information to scale a VNF instance  to a given level, or to scale a VNF instance by steps. NOTE 1:\tETSI GS NFV-IFA 010 (available at https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/010/03.02.01_60/gs_NFV-IFA010v030201p.pdf) specifies that the lifecycle management operations that expandor contract a VNF instance include scale in, scale out, scale up and scale down. Vertical scaling (scale up, scale down) is not supported in the present document. NOTE 2:\tEither scaletoLevelData or scaleByStepData but not both shall be present. The scaleByStepData is used for scale out/in type of scaling, and the scaleToLevelData is used for scale to instantiation/scale level type of scaling.\n"
                  type: object
                  required:
                    - vnfInstanceId
                    - scaleVnfType
                  oneOf:
                    - required:
                        - scaleToLevelData
                    - required:
                        - scaleByStepData
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    scaleVnfType:
                      description: >
                        Type of the scale VNF operation requested. Allowed
                        values are: - SCALE_OUT - SCALE_IN -
                        SCALE_TO_INSTANTIATION_LEVEL - SCALE_TO_SCALE_LEVEL(S)
                        The set of types actually supported depends on the
                        capabilities of the VNF being managed. See note 1.
                      type: string
                      enum:
                        - SCALE_OUT
                        - SCALE_IN
                        - SCALE_TO_INSTANTIATION_LEVEL
                        - SCALE_TO_SCALE_LEVEL(S)
                    scaleToLevelData:
                      description: >
                        This type describes the information used to scale a VNF
                        instance to a target size. The target size is either
                        expressed as an instantiation level of that DF as
                        defined in the VNFD, or given as a list of scale levels,
                        one per scaling aspect of that DF. Instantiation levels
                        and scaling aspects are declared in the VNFD. The NFVO
                        shall then invoke the ScaleVnfToLevel operation towards
                        the appropriate VNFM. NOTE: Either the
                        instantiationLevelId attribute or the scaleInfo
                        attribute shall be included.
                      type: object
                      anyOf:
                        - required:
                            - vnfInstantiationLevelId
                        - required:
                            - vnfScaleInfo
                      properties:
                        vnfInstantiationLevelId:
                          description: >
                            Identifier of the VNF Virtual Link Descriptor (VLD)
                            in the VNFD.
                          type: string
                        vnfScaleInfo:
                          description: >
                            For each scaling aspect of the current deployment
                            flavor, indicates the target scale level to which
                            the VNF is to be scaled. See note.
                          type: array
                          items:
                            required:
                              - aspectId
                              - scaleLevel
                            type: object
                            properties:
                              aspectId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              scaleLevel:
                                description: >
                                  Indicates the scale level. The minimum value
                                  shall be 0 and the maximum value shall be <=
                                  maxScaleLevel as described in the VNFD.
                                type: integer
                        additionalParams:
                          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
                    scaleByStepData:
                      description: "This type describes the information to scale a VNF instance by steps.  The NFVO shall then invoke the Scale VNF operation towards the appropriate VNFM. NOTE:\tA scaling step is the smallest unit by which a VNF instance can be scaled w.r.t a particular scaling aspect.\n"
                      type: object
                      required:
                        - aspectId
                      properties:
                        aspectId:
                          description: >
                            Identifier of the VNF Virtual Link Descriptor (VLD)
                            in the VNFD.
                          type: string
                        numberOfSteps:
                          description: >
                            Number of scaling steps. It shall be a positive
                            number. Defaults to 1. The VNF provider defines in
                            the VNFD whether or not a particular VNF supports
                            performing more than one step at a time. Such a
                            property in the VNFD applies for all instances of a
                            particular VNF. See note.
                          type: integer
                          default: 1
                        additionalParams:
                          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
              scaleTime:
                description: >
                  Date-time stamp. Representation: String formatted according
                  toas defined by the date-time production in IETF RFC 3339.
                format: date-time
      required: true
    NsInstanceUpdateRequest:
      description: |
        Parameters for the update NS operation, as defined in clause 6.5.2.12.
      content:
        application/json:
          schema:
            description: "This operation supports the update of a NS instance operation.\nNOTE 1:\tIf a VNF instance is removed from an NS and this NS was the last one for which this VNF instance was a\n          part, the VNF instance is terminated by the NFVO.\nNOTE 2:\tIt depends on the VNF capabilities, and is declared in the VNFD whether the operation is supported for\n          a particular VNF.\nNOTE 3:\tThe operation might be service-disruptive. NOTE 4:   For each of the referred vnfInstanceId in the terminateVnfData, there shall be a corresponding value\n          in the removeVnfInstanceId.\n"
            type: object
            required:
              - updateType
            properties:
              updateType:
                description: "The type of update. It determines also which one of the following parameters is present in the operation. Possible values include: * ADD_VNF: Adding existing VNF instance(s) * REMOVE_VNF: Removing VNF instance(s) * INSTANTIATE_VNF: Instantiating new VNF(s) * CHANGE_VNF_DF: Changing VNF DF * OPERATE_VNF: Changing VNF state, * MODIFY_VNF_INFORMATION: Modifying VNF information and/or the configurable properties of VNF instance(s) * CHANGE_EXTERNAL_VNF_CONNECTIVITY: Changing the external connectivity of VNF instance(s) * CHANGE_VNFPKG: Changing the VNF package(s) on which (a) VNF instance(s) is/are based * ADD_SAP: Adding SAP(s) * REMOVE_SAP: Removing SAP(s) * ADD_NESTED_NS: Adding existing NS instance(s) as nested NS(s) * REMOVE_NESTED_NS: Removing existing nested NS instance(s) * ASSOC_NEW_NSD_VERSION: Associating a new NSD version to the NS instance * MOVE_VNF: Moving VNF instance(s) from one origin NS instance to another target NS instance * ADD_VNFFG: Adding VNFFG(s) * REMOVE_VNFFG: Removing VNFFG(s) * UPDATE_VNFFG: Updating VNFFG(s) * CHANGE_NS_DF: Changing NS DF * ADD_PNF: Adding PNF * MODIFY_PNF: Modifying PNF * REMOVE_PNF: Removing PNF *\tCREATE_VNF_SNAPSHOT: Creating VNF Snapshots of VNF instances belonging to the NS instance. See note 2 * REVERT_VNF_TO_SNAPSHOT: Reverting a VNF instance belonging to the NS instance to a VNF Snapshot. See note 2 and note 3 * DELETE_VNF_SNAPSHOT_INFO: Deleting available VNF Snapshot information for a VNF instance belonging to the NS instance. See note 2 *\tMODIFY_WAN_CONNECTION_INFO: Modify WAN related connectivity information. *\tCREATE_NS_VIRTUAL_LINK: Create an NsVirtualLink instance. *\tDELETE_NS_VIRTUAL_LINK: Delete an NsVirtualLink instance.\n"
                type: string
                enum:
                  - ADD_VNF
                  - REMOVE_VNF
                  - INSTANTIATE_VNF
                  - CHANGE_VNF_DF
                  - OPERATE_VNF
                  - MODIFY_VNF_INFORMATION
                  - CHANGE_EXTERNAL_VNF_CONNECTIVITY
                  - CHANGE_VNFPKG
                  - ADD SAP
                  - REMOVE_SAP
                  - ADD_NESTED_NS
                  - REMOVE_NESTED_NS
                  - ASSOC_NEW_NSD_VERSION
                  - MOVE_VNF
                  - ADD_VNFFG
                  - REMOVE_VNFFG
                  - UPDATE_VNFFG
                  - CHANGE_NS_DF
                  - ADD_PNF
                  - MODIFY_PNF
                  - REMOVE_PNF
                  - CREATE_VNF_SNAPSHOT
                  - REVERT_VNF_TO_SNAPSHOT
                  - DELETE_VNF_SNAPSHOT_INFO
                  - MODIFY_WAN_CONNECTION_INFO
                  - CREATE_NS_VIRTUAL_LINK
                  - DELETE_NS_VIRTUAL_LINK
              addVnfIstance:
                description: >
                  Identifies an existing VNF instance to be added to the NS
                  instance. It shall be present only if updateType =
                  "ADD_VNF".         
                type: array
                items:
                  description: >
                    This type specifies an existing VNF instance to be used in
                    the NS instance and if needed, the VNF Profile to use for
                    this VNF instance. It shall comply with the provisions
                    defined in Table 6.5.3.19-1.
                  type: object
                  required:
                    - vnfInstanceId
                    - vnfProfileId
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
              removeVnfInstanceId:
                description: >
                  Identifies an existing VNF instance to be removed from the NS
                  instance. It contains the identifier(s) of the VNF instances
                  to be removed. It shall be present only if updateType =
                  "REMOVE_VNF.". See note 1.
                type: array
                items:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
              instantiateVnfData:
                description: >
                  Identifies the new VNF to be instantiated. It can be used e.g.
                  for the bottom-up NS creation. It shall be present only if
                  updateType = "INSTANTIATE_VNF".
                type: array
                items:
                  description: "This type represents the information related to a SAP of a NS. The InstantiateVnfData data type specifies the parameters that are needed for VNF instantiation. This information element is used for the bottom-up NS creation when the OSS/BSS explicitly requests VNF instantiation for a given NS. When the NFVO invokes the Instantiate VNF update operation, a set of these parameters are then passed by the NFVO to the VNFM.\nNOTE 1:\tIt is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.27). NOTE 2:\tIf vnfdId and vnfFlavourId (and vnfInstantiationLevelId, if provided) are present, there should be only one vnfProfile that matches the vnfdId and vnfFlavourId (and vnfInstantiationLevelId, if present) in the NS deployment flavour specified in the NSD associated to the NS instance to which the present operation is triggered. In the case there is more than one matching vnfProfile, the NFVO may select a matching vnfProfile based on other information, such as external VL. NOTE 3:\tEither the attribute triple \"vnfdId, vnfFlavourId and vnfInstantiationLevelId (if provided)\" or the attribute \"vnProfileId\" shall be present, but not both.\n"
                  type: object
                  properties:
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfFlavourId:
                      description: >
                        Identifier of the VNF Virtual Link Descriptor (VLD) in
                        the VNFD.
                      type: string
                    vnfInstantiationLevelId:
                      description: >
                        Identifier of the VNF Virtual Link Descriptor (VLD) in
                        the VNFD.
                      type: string
                    vnfProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    vnfInstanceName:
                      description: |
                        Human-readable name of the VNF instance to be created.
                      type: string
                    vnfInstanceDescription:
                      description: >
                        Human-readable description of the VNF instance to be
                        created.
                      type: string
                    extVirtualLinks:
                      description: |
                        Information about external VLs to connect the VNF to.
                      type: array
                      items:
                        description: "This type represents an external VL.\nNOTE:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1.\tFor a VIP CP directly exposed as extCP:\n  1.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD\n  1.2.\ta dedicated IP address is allocated as VIP address,\n  but the NFVO indicates that no port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2.\tFor a VIP CP exposed as extCP via a floating IP address: 2.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD,\n  and the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n"
                        type: object
                        required:
                          - resourceId
                          - extCps
                        properties:
                          extVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceProviderId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceId:
                            description: >
                              An identifier maintained by the VIM or other
                              resource provider. It is expected to be unique
                              within the VIM instance. Representation: string of
                              variable length.
                            type: string
                          extCps:
                            description: >
                              External CPs of the VNF to be connected to this
                              external VL.
                            type: array
                            items:
                              description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                              type: object
                              required:
                                - cpdId
                              properties:
                                cpdId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                cpConfig:
                                  description: >
                                    Map of instance data that need to be
                                    configured on the CP instances  created from
                                    the respective CPD. The key of the map which
                                    identifies  the individual VnfExtCpConfig
                                    entries is of type "IdentifierInVnf"  and is
                                    managed by the API consumer. The entries
                                    shall be applied by  the VNFM according to
                                    the rules of JSON Merge Patch (see IETF RFC
                                    7396 [11]).  See notes 2, 3 and 4.
                                  type: object
                                  additionalProperties:
                                    description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                    type: object
                                    anyOf:
                                      - required:
                                          - linkPortId
                                      - required:
                                          - cpProtocolData
                                    properties:
                                      parentCpConfigId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      linkPortId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      createExtLinkPort:
                                        description: >
                                          Indicates the need to create a dedicated
                                          link port for the external CP. If set to
                                          True, a link port is created. If set to
                                          False, no link port is created. This
                                          attribute is only applicable for
                                          external CP instances without a floating
                                          IP address that expose a VIP CP instance
                                          for which a dedicated IP address is
                                          allocated. It shall be present in that
                                          case and shall be absent otherwise.
                                        type: boolean
                                      cpProtocolData:
                                        description: >
                                          Parameters for configuring the network
                                          protocols on the link port that connects
                                          the CP to a VL. See note 1.
                                        type: array
                                        items:
                                          description: >
                                            This type represents network protocol
                                            data.
                                          type: object
                                          required:
                                            - layerProtocol
                                          properties:
                                            layerProtocol:
                                              description: >
                                                Identifier of layer(s) and protocol(s).
                                                Permitted values: IP_OVER_ETHERNET.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                            ipOverEthernet:
                                              description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - ipAddresses
                                                - required:
                                                    - macAddress
                                              properties:
                                                macAddress:
                                                  description: >
                                                    A MAC address. Representation: string
                                                    that consists of groups of two
                                                    hexadecimal digits, separated by hyphens
                                                    or colons.
                                                  type: string
                                                  format: MAC
                                                segmentationType:
                                                  description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                  type: string
                                                  enum:
                                                    - VLAN
                                                    - INHERIT
                                                segmentationId:
                                                  description: >
                                                    Identification of the network segment to
                                                    which the CP instance connects to. See
                                                    note 3 and note 4.
                                                  type: string
                                                ipAddresses:
                                                  description: >
                                                    List of IP addresses to assign to the CP
                                                    instance. Each entry represents IP
                                                    address data for fixed or dynamic IP
                                                    address assignment per subnet. If this
                                                    attribute is not present, no IP address
                                                    shall be assigned. See note 1.
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - type
                                                    oneOf:
                                                      - required:
                                                          - fixedAddresses
                                                      - required:
                                                          - numDynamicAddresses
                                                      - required:
                                                          - addressRange
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values:
                                                            - IPV4
                                                            - IPV6
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      fixedAddresses:
                                                        description: >
                                                          Fixed addresses to assign (from the
                                                          subnet defined by "subnetId" if
                                                          provided). Exactly one of
                                                          "fixedAddresses", "numDynamicAddresses"
                                                          or "ipAddressRange" shall be present.
                                                        type: array
                                                        items:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                      numDynamicAddresses:
                                                        description: >
                                                          Number of dynamic addresses to assign
                                                          (from the subnet defined by "subnetId"
                                                          if provided). See note 2.
                                                        type: integer
                                                      addressRange:
                                                        description: >
                                                          An IP address range to be used, e.g. in
                                                          case of egress connections. In case this
                                                          attribute is present, IP addresses from
                                                          the range will be used.
                                                        type: object
                                                        required:
                                                          - minAddress
                                                          - maxAddress
                                                        properties:
                                                          minAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          maxAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                      subnetId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                          extLinkPorts:
                            description: >
                              Externally provided link ports to be used to
                              connect external connection points to this
                              external VL unless the extCp exposes a VIP CP and
                              a link port is not needed for it based on the
                              conditions defined below. See note.
                            type: array
                            items:
                              description: "This type represents an externally provided link port to be used to connect an external connection point to an external VL. NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                              type: object
                              required:
                                - id
                                - resourceHandle
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                trunkResourceId:
                                  description: >
                                    An identifier maintained by the VIM or other
                                    resource provider. It is expected to be
                                    unique within the VIM instance.
                                    Representation: string of variable length.
                                  type: string
                    extManagedVirtualLinks:
                      description: >
                        Information about internal VLs that are managed by other
                        entities than the VNFM. See note 1.
                      type: array
                      items:
                        description: >
                          This type represents an externally-managed internal
                          VL. It shall comply with the provisions defined in
                          Table 6.5.3.27-1.
                        type: object
                        required:
                          - vnfVirtualLinkDescId
                          - resourceId
                        properties:
                          extManagedVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfVirtualLinkDescId:
                            description: >
                              Identifier of the VNF Virtual Link Descriptor
                              (VLD) in the VNFD.
                            type: string
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceProviderId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceId:
                            description: >
                              An identifier maintained by the VIM or other
                              resource provider. It is expected to be unique
                              within the VIM instance. Representation: string of
                              variable length.
                            type: string
                          vnfLinkPort:
                            description: >
                              Externally provided link ports to be used to
                              connect VNFC connection points to this
                              externally-managed VL on this network resource. If
                              this attribute is not present, the VNFM shall
                              create the link ports on the externally-managed
                              VL.
                            type: array
                            items:
                              description: >
                                This type represents an externally provided link
                                port to be used to connect a VNFC connection
                                point to an externally-managed VL. It shall
                                comply with the provisions defined in table
                                6.5.3.78-1.
                              type: object
                              required:
                                - vnfLinkPortId
                                - resourceHandle
                              properties:
                                vnfLinkPortId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                          extManagedMultisiteVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                    localizationLanguage:
                      description: >
                        Localization language of the VNF to be instantiated. The
                        value shall comply with the format defined in IETF RFC
                        5646.
                      type: string
                    vnfConfigurableProperties:
                      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
                    additionalParams:
                      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
                    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
                    extensions:
                      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
                    locationConstraints:
                      description: >
                        This type represents the association of location
                        constraints to a VNF instance to be created according to
                        a specific VNF profile. It shall comply with the
                        provisions defined in Table 6.5.3.20-1.

                        NOTE: these constraints are typically determined by the
                        OSS/BSS from service requirements (e.g. latency
                        requirements, regulatory requirements). The NFVO can map
                        such location constraints to eligible NFVI-PoPs/resource
                        zones where the VNF instance is to be created.
                      type: object
                      required:
                        - vnfProfileId
                      properties:
                        vnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        locationConstraints:
                          description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                          type: object
                          properties:
                            countryCode:
                              description: >
                                The two-letter ISO 3166 country code in capital
                                letters. Shall be present in case the "area"
                                attribute is absent. May be absent if the "area"
                                attribute is present (see note).
                              type: string
                            civicAddressElement:
                              description: >
                                Zero or more elements comprising the civic
                                address. Shall be absent if the "area" attribute
                                is present.
                              type: array
                              items:
                                type: object
                                required:
                                  - caType
                                  - caValue
                                properties:
                                  caType:
                                    description: >
                                      Describe the content type of caValue. The
                                      value of caType shall comply with Section
                                      3.4 of IETF RFC 4776 [13].
                                    type: integer
                                  caValue:
                                    description: >
                                      Content of civic address element
                                      corresponding to the caType. The format
                                      caValue shall comply with Section 3.4 of
                                      IETF RFC 4776 [13].
                                    type: string
                            area:
                              description: >
                                Geographic area. Shall be absent if the
                                "civicAddressElement" attribute is present. The
                                content of this attribute shall follow the
                                provisions for the "Polygon" geometry object as
                                defined in IETF RFC 7946, for which the "type"
                                member shall be set to the value "Polygon". See
                                note.
                              type: object
              terminateVnfData:
                description: >
                  Specifies the details to terminate VNF instance(s). It shall
                  be present only if updateType = "REMOVE_VNF" and if the VNF
                  instance(s) is(are) to be terminated as part of this
                  operation. See notes 1 and 4.
                type: array
                items:
                  description: "This type represents the information to terminate a VNF that is part of an NS. NOTE:\tIf the VNF is still in service, requesting forceful termination can adversely impact network service.\n"
                  type: object
                  required:
                    - vnfInstanceId
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    terminationType:
                      description: "Indicates whether forceful or graceful termination is requested. See note. Permitted values: -\tFORCEFUL -\tGRACEFUL\n"
                      type: string
                      enum:
                        - FORCEFUL
                        - GRACEFUL
                    gracefulTerminationTimeout:
                      description: >
                        The attribute is only applicable in case of graceful
                        termination. It defines the time to wait for the VNF to
                        be taken out of service before shutting down the VNF and
                        releasing the resources. The unit is seconds.
                      type: integer
                    additionalParams:
                      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
              changeVnfFlavourData:
                description: >
                  Identifies the new DF of the VNF instance to be changed to. It
                  shall be present only if updateType = "CHANGE_VNF_DF".
                type: array
                items:
                  description: "The type represents the information that is requested to be changed deployment flavor for an existing VNF instance. NOTE 1:\tThe indication of externally-managed internal VLs is needed in case networks have been pre-configured for use with certain VNFs, for instance to ensure that these networks have certain properties such as security or acceleration features, or to address particular network topologies. The present document assumes that externally-managed internal VLs are managed by the NFVO and created towards the VIM. NOTE 2:\tIt is possible to have several ExtManagedVirtualLinkData for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 6.5.3.27).\n"
                  type: object
                  required:
                    - vnfInstanceId
                    - newFlavourId
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    newFlavourId:
                      description: >
                        Identifier of the VNF Virtual Link Descriptor (VLD) in
                        the VNFD.
                      type: string
                    instantiationLevelId:
                      description: >
                        Identifier of the VNF Virtual Link Descriptor (VLD) in
                        the VNFD.
                      type: string
                    extVirtualLinks:
                      description: |
                        Information about external VLs to connect the VNF to.
                      type: array
                      items:
                        description: "This type represents an external VL.\nNOTE:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1.\tFor a VIP CP directly exposed as extCP:\n  1.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD\n  1.2.\ta dedicated IP address is allocated as VIP address,\n  but the NFVO indicates that no port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2.\tFor a VIP CP exposed as extCP via a floating IP address: 2.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD,\n  and the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n"
                        type: object
                        required:
                          - resourceId
                          - extCps
                        properties:
                          extVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceProviderId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceId:
                            description: >
                              An identifier maintained by the VIM or other
                              resource provider. It is expected to be unique
                              within the VIM instance. Representation: string of
                              variable length.
                            type: string
                          extCps:
                            description: >
                              External CPs of the VNF to be connected to this
                              external VL.
                            type: array
                            items:
                              description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                              type: object
                              required:
                                - cpdId
                              properties:
                                cpdId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                cpConfig:
                                  description: >
                                    Map of instance data that need to be
                                    configured on the CP instances  created from
                                    the respective CPD. The key of the map which
                                    identifies  the individual VnfExtCpConfig
                                    entries is of type "IdentifierInVnf"  and is
                                    managed by the API consumer. The entries
                                    shall be applied by  the VNFM according to
                                    the rules of JSON Merge Patch (see IETF RFC
                                    7396 [11]).  See notes 2, 3 and 4.
                                  type: object
                                  additionalProperties:
                                    description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                    type: object
                                    anyOf:
                                      - required:
                                          - linkPortId
                                      - required:
                                          - cpProtocolData
                                    properties:
                                      parentCpConfigId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      linkPortId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      createExtLinkPort:
                                        description: >
                                          Indicates the need to create a dedicated
                                          link port for the external CP. If set to
                                          True, a link port is created. If set to
                                          False, no link port is created. This
                                          attribute is only applicable for
                                          external CP instances without a floating
                                          IP address that expose a VIP CP instance
                                          for which a dedicated IP address is
                                          allocated. It shall be present in that
                                          case and shall be absent otherwise.
                                        type: boolean
                                      cpProtocolData:
                                        description: >
                                          Parameters for configuring the network
                                          protocols on the link port that connects
                                          the CP to a VL. See note 1.
                                        type: array
                                        items:
                                          description: >
                                            This type represents network protocol
                                            data.
                                          type: object
                                          required:
                                            - layerProtocol
                                          properties:
                                            layerProtocol:
                                              description: >
                                                Identifier of layer(s) and protocol(s).
                                                Permitted values: IP_OVER_ETHERNET.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                            ipOverEthernet:
                                              description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - ipAddresses
                                                - required:
                                                    - macAddress
                                              properties:
                                                macAddress:
                                                  description: >
                                                    A MAC address. Representation: string
                                                    that consists of groups of two
                                                    hexadecimal digits, separated by hyphens
                                                    or colons.
                                                  type: string
                                                  format: MAC
                                                segmentationType:
                                                  description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                  type: string
                                                  enum:
                                                    - VLAN
                                                    - INHERIT
                                                segmentationId:
                                                  description: >
                                                    Identification of the network segment to
                                                    which the CP instance connects to. See
                                                    note 3 and note 4.
                                                  type: string
                                                ipAddresses:
                                                  description: >
                                                    List of IP addresses to assign to the CP
                                                    instance. Each entry represents IP
                                                    address data for fixed or dynamic IP
                                                    address assignment per subnet. If this
                                                    attribute is not present, no IP address
                                                    shall be assigned. See note 1.
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - type
                                                    oneOf:
                                                      - required:
                                                          - fixedAddresses
                                                      - required:
                                                          - numDynamicAddresses
                                                      - required:
                                                          - addressRange
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values:
                                                            - IPV4
                                                            - IPV6
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      fixedAddresses:
                                                        description: >
                                                          Fixed addresses to assign (from the
                                                          subnet defined by "subnetId" if
                                                          provided). Exactly one of
                                                          "fixedAddresses", "numDynamicAddresses"
                                                          or "ipAddressRange" shall be present.
                                                        type: array
                                                        items:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                      numDynamicAddresses:
                                                        description: >
                                                          Number of dynamic addresses to assign
                                                          (from the subnet defined by "subnetId"
                                                          if provided). See note 2.
                                                        type: integer
                                                      addressRange:
                                                        description: >
                                                          An IP address range to be used, e.g. in
                                                          case of egress connections. In case this
                                                          attribute is present, IP addresses from
                                                          the range will be used.
                                                        type: object
                                                        required:
                                                          - minAddress
                                                          - maxAddress
                                                        properties:
                                                          minAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          maxAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                      subnetId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                          extLinkPorts:
                            description: >
                              Externally provided link ports to be used to
                              connect external connection points to this
                              external VL unless the extCp exposes a VIP CP and
                              a link port is not needed for it based on the
                              conditions defined below. See note.
                            type: array
                            items:
                              description: "This type represents an externally provided link port to be used to connect an external connection point to an external VL. NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                              type: object
                              required:
                                - id
                                - resourceHandle
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                trunkResourceId:
                                  description: >
                                    An identifier maintained by the VIM or other
                                    resource provider. It is expected to be
                                    unique within the VIM instance.
                                    Representation: string of variable length.
                                  type: string
                    extManagedVirtualLinks:
                      description: >
                        information about internal VLs that are managed by NFVO.
                        See note 1 and note 2.
                      type: array
                      items:
                        description: >
                          This type represents an externally-managed internal
                          VL. It shall comply with the provisions defined in
                          Table 6.5.3.27-1.
                        type: object
                        required:
                          - vnfVirtualLinkDescId
                          - resourceId
                        properties:
                          extManagedVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfVirtualLinkDescId:
                            description: >
                              Identifier of the VNF Virtual Link Descriptor
                              (VLD) in the VNFD.
                            type: string
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceProviderId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceId:
                            description: >
                              An identifier maintained by the VIM or other
                              resource provider. It is expected to be unique
                              within the VIM instance. Representation: string of
                              variable length.
                            type: string
                          vnfLinkPort:
                            description: >
                              Externally provided link ports to be used to
                              connect VNFC connection points to this
                              externally-managed VL on this network resource. If
                              this attribute is not present, the VNFM shall
                              create the link ports on the externally-managed
                              VL.
                            type: array
                            items:
                              description: >
                                This type represents an externally provided link
                                port to be used to connect a VNFC connection
                                point to an externally-managed VL. It shall
                                comply with the provisions defined in table
                                6.5.3.78-1.
                              type: object
                              required:
                                - vnfLinkPortId
                                - resourceHandle
                              properties:
                                vnfLinkPortId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                          extManagedMultisiteVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                    additionalParams:
                      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
                    extensions:
                      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
                    vnfConfigurableProperties:
                      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
              operateVnfData:
                description: >
                  Identifies the state of the VNF instance to be changed.  It
                  shall be present only if updateType = "OPERATE_VNF".
                type: array
                items:
                  description: "This type represents a VNF instance for which the operational state  needs to be changed and the requested new state. NOTE:\tThe \"stopType\" and \"gracefulStopTimeout\" attributes shall be absent, when the \"changeStateTo\" attribute is equal to \"STARTED\". The \"gracefulStopTimeout\" attribute shall be present, when the \"changeStateTo\" attribute is equal to \"STOPPED\" and the \"stopType\" attribute is equal to \"GRACEFUL\". The \"gracefulStopTimeout\" attribute shall be absent, when the \"changeStateTo\" attribute is equal to \"STOPPED\" and the \"stopType\" attribute is equal to \"FORCEFUL\". The request shall be treated as if the \"stopType\" attribute was set to \"FORCEFUL\", when the \"changeStateTo\" attribute is equal to \"STOPPED\" and the \"stopType\" attribute is absent.\n"
                  type: object
                  required:
                    - vnfInstanceId
                    - changeStateTo
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    changeStateTo:
                      description: >
                        STARTED - The VNF instance is up and running. STOPPED -
                        The VNF instance has been shut down.
                      type: string
                      enum:
                        - STARTED
                        - STOPPED
                    stopType:
                      description: >
                        * FORCEFUL: The VNFM will stop the VNF immediately after
                        accepting the
                          request.
                        * GRACEFUL: The VNFM will first arrange to take the VNF
                        out of service
                          after accepting the request. Once that operation is successful or once
                          the timer value specified in the "gracefulStopTimeout" attribute
                          expires, the VNFM will stop the VNF.
                      type: string
                      enum:
                        - FORCEFUL
                        - GRACEFUL
                    gracefulStopTimeout:
                      description: >
                        The time interval (in seconds) to wait for the VNF to be
                        taken out of service during graceful stop, before
                        stopping the VNF. See note.
                      type: integer
                    additionalParam:
                      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
              modifyVnfInfoData:
                description: >
                  Identifies the VNF information parameters and/or the
                  configurable properties of VNF instance to be modified. It
                  shall be present only if updateType =
                  "MODIFY_VNF_INFORMATION".
                type: array
                items:
                  description: >
                    This type represents the information that is requested to be
                    modified for a VNF instance. The information to be modified
                    shall comply with the associated NSD. EXAMPLE. The vnfPkgId
                    attribute value for a particular VNF instance can only be
                    updated with a value that matches the identifier value of a
                    VNF package whose vnfdId is present in the associated
                    profile of the NSD.
                  type: object
                  required:
                    - vnfInstanceId
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfInstanceName:
                      description: >
                        New value of the "vnfInstanceName" attribute in
                        "VnfInstance", or "null" to remove the attribute.
                      type: string
                    vnfInstanceDescription:
                      description: >
                        New value of the "vnfInstanceDescription" attribute in
                        "VnfInstance", or "null" to remove the attribute.
                      type: string
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfConfigurableProperties:
                      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
                    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
                    extensions:
                      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
              changeExtVnfConnectivityData:
                description: >
                  Specifies the new external connectivity data of the VNF
                  instance to be changed. It shall be present only if updateType
                  = "CHANGE_EXTERNAL_VNF_CONNECTIVITY".
                type: array
                items:
                  description: "This type describes the information invoked by the NFVO to change the external VNF connectivity information maintained by the VNFM. The types of changes that this operation supports are: 1) Disconnect the external CPs that are connected to a particular external VL, and connect them to a different\n   external VL.\n2) Disconnect and delete external CPs that are connected to a particular external VL and that represent subports\n   in a trunk, i.e. CP instances that are created from external CPDs that have trunk mode configured according to\n   clause 7.1.6.3 in ETSI GS NFV-IFA 011. If the parent port is exposed as an \"extCp\", the VNFM shall ensure that\n   the parent port is not deleted. If the parent port is exposed as an \"extCp\" and there are other subports connected,\n   the VNFM shall ensure that the parent port is not disconnected, unless it is reconnected to a different external\n   VL in the same operation.\n3) Change the connectivity parameters of the existing external CPs, including changing addresses.\nNOTE:\tDepending on the capabilities of the underlying VIM resources, certain changes (e.g. modifying the IP address\n      assignment) might not be supported without deleting the resource and creating another one with the modified\n      configuration.\n\n4) Create new CPs that represent supports in a trunk, i.e. CP instances that are created from external CPDs that\n   have trunk mode configured according to clause 7.1.6.3 in ETSI GS NFV-IFA 011, and connect them to a particular\n   external VL. Creation of the parent port with this operation is not supported. This type shall comply with the\n   provisions defined in Table 6.5.3.33-1.\n"
                  type: object
                  required:
                    - vnfInstanceId
                    - extVirtualLinks
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    extVirtualLinks:
                      description: >
                        Information about external VLs to change (e.g. connect
                        the VNF to).
                      type: array
                      items:
                        description: "This type represents an external VL.\nNOTE:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1.\tFor a VIP CP directly exposed as extCP:\n  1.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD\n  1.2.\ta dedicated IP address is allocated as VIP address,\n  but the NFVO indicates that no port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2.\tFor a VIP CP exposed as extCP via a floating IP address: 2.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD,\n  and the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n"
                        type: object
                        required:
                          - resourceId
                          - extCps
                        properties:
                          extVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceProviderId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceId:
                            description: >
                              An identifier maintained by the VIM or other
                              resource provider. It is expected to be unique
                              within the VIM instance. Representation: string of
                              variable length.
                            type: string
                          extCps:
                            description: >
                              External CPs of the VNF to be connected to this
                              external VL.
                            type: array
                            items:
                              description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                              type: object
                              required:
                                - cpdId
                              properties:
                                cpdId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                cpConfig:
                                  description: >
                                    Map of instance data that need to be
                                    configured on the CP instances  created from
                                    the respective CPD. The key of the map which
                                    identifies  the individual VnfExtCpConfig
                                    entries is of type "IdentifierInVnf"  and is
                                    managed by the API consumer. The entries
                                    shall be applied by  the VNFM according to
                                    the rules of JSON Merge Patch (see IETF RFC
                                    7396 [11]).  See notes 2, 3 and 4.
                                  type: object
                                  additionalProperties:
                                    description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                    type: object
                                    anyOf:
                                      - required:
                                          - linkPortId
                                      - required:
                                          - cpProtocolData
                                    properties:
                                      parentCpConfigId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      linkPortId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      createExtLinkPort:
                                        description: >
                                          Indicates the need to create a dedicated
                                          link port for the external CP. If set to
                                          True, a link port is created. If set to
                                          False, no link port is created. This
                                          attribute is only applicable for
                                          external CP instances without a floating
                                          IP address that expose a VIP CP instance
                                          for which a dedicated IP address is
                                          allocated. It shall be present in that
                                          case and shall be absent otherwise.
                                        type: boolean
                                      cpProtocolData:
                                        description: >
                                          Parameters for configuring the network
                                          protocols on the link port that connects
                                          the CP to a VL. See note 1.
                                        type: array
                                        items:
                                          description: >
                                            This type represents network protocol
                                            data.
                                          type: object
                                          required:
                                            - layerProtocol
                                          properties:
                                            layerProtocol:
                                              description: >
                                                Identifier of layer(s) and protocol(s).
                                                Permitted values: IP_OVER_ETHERNET.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                            ipOverEthernet:
                                              description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - ipAddresses
                                                - required:
                                                    - macAddress
                                              properties:
                                                macAddress:
                                                  description: >
                                                    A MAC address. Representation: string
                                                    that consists of groups of two
                                                    hexadecimal digits, separated by hyphens
                                                    or colons.
                                                  type: string
                                                  format: MAC
                                                segmentationType:
                                                  description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                  type: string
                                                  enum:
                                                    - VLAN
                                                    - INHERIT
                                                segmentationId:
                                                  description: >
                                                    Identification of the network segment to
                                                    which the CP instance connects to. See
                                                    note 3 and note 4.
                                                  type: string
                                                ipAddresses:
                                                  description: >
                                                    List of IP addresses to assign to the CP
                                                    instance. Each entry represents IP
                                                    address data for fixed or dynamic IP
                                                    address assignment per subnet. If this
                                                    attribute is not present, no IP address
                                                    shall be assigned. See note 1.
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - type
                                                    oneOf:
                                                      - required:
                                                          - fixedAddresses
                                                      - required:
                                                          - numDynamicAddresses
                                                      - required:
                                                          - addressRange
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values:
                                                            - IPV4
                                                            - IPV6
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      fixedAddresses:
                                                        description: >
                                                          Fixed addresses to assign (from the
                                                          subnet defined by "subnetId" if
                                                          provided). Exactly one of
                                                          "fixedAddresses", "numDynamicAddresses"
                                                          or "ipAddressRange" shall be present.
                                                        type: array
                                                        items:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                      numDynamicAddresses:
                                                        description: >
                                                          Number of dynamic addresses to assign
                                                          (from the subnet defined by "subnetId"
                                                          if provided). See note 2.
                                                        type: integer
                                                      addressRange:
                                                        description: >
                                                          An IP address range to be used, e.g. in
                                                          case of egress connections. In case this
                                                          attribute is present, IP addresses from
                                                          the range will be used.
                                                        type: object
                                                        required:
                                                          - minAddress
                                                          - maxAddress
                                                        properties:
                                                          minAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          maxAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                      subnetId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                          extLinkPorts:
                            description: >
                              Externally provided link ports to be used to
                              connect external connection points to this
                              external VL unless the extCp exposes a VIP CP and
                              a link port is not needed for it based on the
                              conditions defined below. See note.
                            type: array
                            items:
                              description: "This type represents an externally provided link port to be used to connect an external connection point to an external VL. NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                              type: object
                              required:
                                - id
                                - resourceHandle
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                trunkResourceId:
                                  description: >
                                    An identifier maintained by the VIM or other
                                    resource provider. It is expected to be
                                    unique within the VIM instance.
                                    Representation: string of variable length.
                                  type: string
                    additionalParams:
                      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
              changeVnfPackageData:
                description: >
                  Specifies the details to change the VNF package on which the
                  VNF instance is based. It shall be present only if updateType
                  = "CHANGE_VNFPKG".
                type: array
                items:
                  description: "This type specifies the information needed to change the current VNF package for a VNF instance. Clause B.3 of the\nETSI GS NFV-IFA 007 illustrates the variants of changes to the current VNF Package and information flow procedures.\nThis operation encompasses the following scenarios:\n*\tChanges of the VNF virtualised resources, such as requirements, composition and structure between the VNF versions,\n  without changing the VNF software version.\n*\tChanges of both the VNF software version and the VNF virtualised resources. This case includes replacing the VNF\n  software version by means of virtualised resources management, such as terminating the current virtualized resource\n  instances running the current software version and instantiating new virtualized resource instances with the\n  destination VNF software version. The new virtualized resource instances may have the same characteristics as the\n  current virtualized resource instances.\n*\tChanges related to the VNFD, such as correction of bugs in the VNFD, changes in the naming scheme of VNFD components\n  (e.g. name of the VDU, vduId), and adding/removing descriptors of VNF Package changes (VnfPackageChangeInfo).\nNOTE:\tFor software updates that are executed by functional entities outside NFV-MANO and that require synchronization\n      of the information held by the NFV-MANO entities with a new VNF package that reflects the same changes, an\n      alternative procedure using the PATCH method on the \"Individual VNF instance\" resource has been defined, as\n      illustrated in annex B.2 of ETSI GS NFV-IFA 007 [19]. This procedure assumes certain restrictions on the\n      characteristics of the new VNF package, as defined in note 1 in table 5.5.2.2-1 of ETSI GS NFV-SOL 003.\nThis type shall comply with the provisions defined in Table 6.5.3.54-1.\n"
                  type: object
                  required:
                    - vnfInstanceId
                    - vnfdId
                  properties:
                    vnfInstanceId:
                      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
                    extVirtualLinks:
                      description: >
                        Information about external VLs to connect the VNF to.
                        Entries in the list that are unchanged need not be
                        supplied as part of this request.
                      type: array
                      items:
                        description: "This type represents an external VL.\nNOTE:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases: 1.\tFor a VIP CP directly exposed as extCP:\n  1.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD\n  1.2.\ta dedicated IP address is allocated as VIP address,\n  but the NFVO indicates that no port is needed (createExtLinkPort in VnfExtCpConfig set to false).\n2.\tFor a VIP CP exposed as extCP via a floating IP address: 2.1.\tno dedicated IP address is allocated as VIP address, as indicated in the VNFD,\n  and the VNFC CP associated to the VIP CP is also exposed via a floating IP address.\n"
                        type: object
                        required:
                          - resourceId
                          - extCps
                        properties:
                          extVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceProviderId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceId:
                            description: >
                              An identifier maintained by the VIM or other
                              resource provider. It is expected to be unique
                              within the VIM instance. Representation: string of
                              variable length.
                            type: string
                          extCps:
                            description: >
                              External CPs of the VNF to be connected to this
                              external VL.
                            type: array
                            items:
                              description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                              type: object
                              required:
                                - cpdId
                              properties:
                                cpdId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                cpConfig:
                                  description: >
                                    Map of instance data that need to be
                                    configured on the CP instances  created from
                                    the respective CPD. The key of the map which
                                    identifies  the individual VnfExtCpConfig
                                    entries is of type "IdentifierInVnf"  and is
                                    managed by the API consumer. The entries
                                    shall be applied by  the VNFM according to
                                    the rules of JSON Merge Patch (see IETF RFC
                                    7396 [11]).  See notes 2, 3 and 4.
                                  type: object
                                  additionalProperties:
                                    description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                    type: object
                                    anyOf:
                                      - required:
                                          - linkPortId
                                      - required:
                                          - cpProtocolData
                                    properties:
                                      parentCpConfigId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      linkPortId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      createExtLinkPort:
                                        description: >
                                          Indicates the need to create a dedicated
                                          link port for the external CP. If set to
                                          True, a link port is created. If set to
                                          False, no link port is created. This
                                          attribute is only applicable for
                                          external CP instances without a floating
                                          IP address that expose a VIP CP instance
                                          for which a dedicated IP address is
                                          allocated. It shall be present in that
                                          case and shall be absent otherwise.
                                        type: boolean
                                      cpProtocolData:
                                        description: >
                                          Parameters for configuring the network
                                          protocols on the link port that connects
                                          the CP to a VL. See note 1.
                                        type: array
                                        items:
                                          description: >
                                            This type represents network protocol
                                            data.
                                          type: object
                                          required:
                                            - layerProtocol
                                          properties:
                                            layerProtocol:
                                              description: >
                                                Identifier of layer(s) and protocol(s).
                                                Permitted values: IP_OVER_ETHERNET.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                            ipOverEthernet:
                                              description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - ipAddresses
                                                - required:
                                                    - macAddress
                                              properties:
                                                macAddress:
                                                  description: >
                                                    A MAC address. Representation: string
                                                    that consists of groups of two
                                                    hexadecimal digits, separated by hyphens
                                                    or colons.
                                                  type: string
                                                  format: MAC
                                                segmentationType:
                                                  description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                  type: string
                                                  enum:
                                                    - VLAN
                                                    - INHERIT
                                                segmentationId:
                                                  description: >
                                                    Identification of the network segment to
                                                    which the CP instance connects to. See
                                                    note 3 and note 4.
                                                  type: string
                                                ipAddresses:
                                                  description: >
                                                    List of IP addresses to assign to the CP
                                                    instance. Each entry represents IP
                                                    address data for fixed or dynamic IP
                                                    address assignment per subnet. If this
                                                    attribute is not present, no IP address
                                                    shall be assigned. See note 1.
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - type
                                                    oneOf:
                                                      - required:
                                                          - fixedAddresses
                                                      - required:
                                                          - numDynamicAddresses
                                                      - required:
                                                          - addressRange
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values:
                                                            - IPV4
                                                            - IPV6
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      fixedAddresses:
                                                        description: >
                                                          Fixed addresses to assign (from the
                                                          subnet defined by "subnetId" if
                                                          provided). Exactly one of
                                                          "fixedAddresses", "numDynamicAddresses"
                                                          or "ipAddressRange" shall be present.
                                                        type: array
                                                        items:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                      numDynamicAddresses:
                                                        description: >
                                                          Number of dynamic addresses to assign
                                                          (from the subnet defined by "subnetId"
                                                          if provided). See note 2.
                                                        type: integer
                                                      addressRange:
                                                        description: >
                                                          An IP address range to be used, e.g. in
                                                          case of egress connections. In case this
                                                          attribute is present, IP addresses from
                                                          the range will be used.
                                                        type: object
                                                        required:
                                                          - minAddress
                                                          - maxAddress
                                                        properties:
                                                          minAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          maxAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                      subnetId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                          extLinkPorts:
                            description: >
                              Externally provided link ports to be used to
                              connect external connection points to this
                              external VL unless the extCp exposes a VIP CP and
                              a link port is not needed for it based on the
                              conditions defined below. See note.
                            type: array
                            items:
                              description: "This type represents an externally provided link port to be used to connect an external connection point to an external VL. NOTE:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                              type: object
                              required:
                                - id
                                - resourceHandle
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                trunkResourceId:
                                  description: >
                                    An identifier maintained by the VIM or other
                                    resource provider. It is expected to be
                                    unique within the VIM instance.
                                    Representation: string of variable length.
                                  type: string
                    extManagedVirtualLinks:
                      description: >
                        Information about internal VLs that are managed by the
                        NFVO.
                      type: array
                      items:
                        description: >
                          This type represents an externally-managed internal
                          VL. It shall comply with the provisions defined in
                          Table 6.5.3.27-1.
                        type: object
                        required:
                          - vnfVirtualLinkDescId
                          - resourceId
                        properties:
                          extManagedVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfVirtualLinkDescId:
                            description: >
                              Identifier of the VNF Virtual Link Descriptor
                              (VLD) in the VNFD.
                            type: string
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceProviderId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceId:
                            description: >
                              An identifier maintained by the VIM or other
                              resource provider. It is expected to be unique
                              within the VIM instance. Representation: string of
                              variable length.
                            type: string
                          vnfLinkPort:
                            description: >
                              Externally provided link ports to be used to
                              connect VNFC connection points to this
                              externally-managed VL on this network resource. If
                              this attribute is not present, the VNFM shall
                              create the link ports on the externally-managed
                              VL.
                            type: array
                            items:
                              description: >
                                This type represents an externally provided link
                                port to be used to connect a VNFC connection
                                point to an externally-managed VL. It shall
                                comply with the provisions defined in table
                                6.5.3.78-1.
                              type: object
                              required:
                                - vnfLinkPortId
                                - resourceHandle
                              properties:
                                vnfLinkPortId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                          extManagedMultisiteVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                    additionalParams:
                      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
                    extensions:
                      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
                    vnfConfigurableProperties:
                      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
              addSap:
                description: >
                  Identifies a new SAP to be added to the NS instance. It shall
                  be present only if updateType = "ADD_SAP."
                type: array
                items:
                  description: >
                    This type represents the information related to a SAP of a
                    NS. It shall comply with the provisions defined in Table
                    6.5.3.10-1.
                  type: object
                  required:
                    - sapdId
                    - sapName
                    - description
                  properties:
                    sapdId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    sapName:
                      description: |
                        Human readable name for the SAP.
                      type: string
                    description:
                      description: |
                        Human readable description for the SAP.
                      type: string
                    sapProtocolData:
                      description: >
                        Parameters for configuring the network protocols on the
                        SAP.
                      type: array
                      items:
                        description: |
                          This type represents network protocol data.
                        type: object
                        required:
                          - layerProtocol
                        properties:
                          layerProtocol:
                            description: >
                              Identifier of layer(s) and protocol(s). Permitted
                              values: IP_OVER_ETHERNET.
                            type: string
                            enum:
                              - IP_OVER_ETHERNET
                          ipOverEthernet:
                            description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                            type: object
                            anyOf:
                              - required:
                                  - ipAddresses
                              - required:
                                  - macAddress
                            properties:
                              macAddress:
                                description: >
                                  A MAC address. Representation: string that
                                  consists of groups of two hexadecimal digits,
                                  separated by hyphens or colons.
                                type: string
                                format: MAC
                              segmentationType:
                                description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                type: string
                                enum:
                                  - VLAN
                                  - INHERIT
                              segmentationId:
                                description: >
                                  Identification of the network segment to which
                                  the CP instance connects to. See note 3 and
                                  note 4.
                                type: string
                              ipAddresses:
                                description: >
                                  List of IP addresses to assign to the CP
                                  instance. Each entry represents IP address
                                  data for fixed or dynamic IP address
                                  assignment per subnet. If this attribute is
                                  not present, no IP address shall be assigned.
                                  See note 1.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - type
                                  oneOf:
                                    - required:
                                        - fixedAddresses
                                    - required:
                                        - numDynamicAddresses
                                    - required:
                                        - addressRange
                                  properties:
                                    type:
                                      description: >
                                        The type of the IP addresses. Permitted
                                        values:
                                          - IPV4
                                          - IPV6
                                      type: string
                                      enum:
                                        - IPV4
                                        - IPV6
                                    fixedAddresses:
                                      description: >
                                        Fixed addresses to assign (from the
                                        subnet defined by "subnetId" if
                                        provided). Exactly one of
                                        "fixedAddresses", "numDynamicAddresses"
                                        or "ipAddressRange" shall be present.
                                      type: array
                                      items:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                    numDynamicAddresses:
                                      description: >
                                        Number of dynamic addresses to assign
                                        (from the subnet defined by "subnetId"
                                        if provided). See note 2.
                                      type: integer
                                    addressRange:
                                      description: >
                                        An IP address range to be used, e.g. in
                                        case of egress connections. In case this
                                        attribute is present, IP addresses from
                                        the range will be used.
                                      type: object
                                      required:
                                        - minAddress
                                        - maxAddress
                                      properties:
                                        minAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        maxAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                    subnetId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
              removeSapId:
                description: >
                  The identifier an existing SAP to be removed from the NS
                  instance. It shall be present only if updateType =
                  "REMOVE_SAP."
                type: array
                items:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
              addNestedNsData:
                description: >
                  The identifier of an existing nested NS instance to be added
                  to (nested within) the NS instance. It shall be present only
                  if updateType = "ADD_NESTED_NS".
                type: array
                items:
                  description: >
                    This type specifies an existing nested NS instance to be
                    used in the NS instance  and if needed, the NsProfile to use
                    for this nested NS instance.  It shall comply with the
                    provisions defined in Table 6.5.3.19a-1.
                  type: object
                  required:
                    - nestedNsInstanceId
                  properties:
                    nestedNsInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    nsProfileId:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
              removeNestedNsId:
                description: >
                  The identifier of an existing nested NS instance to be removed
                  from the NS instance. It shall be present only if updateType =
                  "REMOVE_NESTED_NS".
                type: array
                items:
                  description: >
                    An identifier that is unique with respect to a NS.
                    Representation: string of variable length.
                  type: string
              assocNewNsdVersionData:
                description: >
                  This type specifies a new NSD version that is associated to
                  the NS instance. After issuing the Update NS operation with
                  updateType = "AssocNewNsdVersion", the NFVO shall use the
                  referred NSD as a basis for the given NS instance. Different
                  versions of the same NSD have same nsdInvariantId, but
                  different nsdId attributes, therefore if the nsdInvariantId of
                  the NSD version that is to be associated to this NS instance
                  is different from the one used before, the NFVO shall reject
                  the request. Only new versions of the same NSD can be
                  associated to an existing NS instance. This data type shall
                  comply with the provisions defined in Table 6.5.3.34-1.
                type: object
                required:
                  - newNsdId
                properties:
                  newNsdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  sync:
                    description: >
                      Specify whether the NS instance shall be automatically
                      synchronized to the new NSD by the NFVO (in case of true
                      value) or the NFVO shall not do any action (in case of a
                      false value) and wait for further guidance from OSS/BSS
                      (i.e. waiting for OSS/BSS to issue NS lifecycle management
                      operation to explicitly add/remove VNFs and modify
                      information of VNF instances according to the new NSD).
                      The synchronization to the new NSD means e.g.
                      instantiating/adding those VNFs whose VNFD is referenced
                      by the new NSD version but not referenced by the old one,
                      terminating/removing those VNFs whose VNFD is referenced
                      by the old NSD version but not referenced by the new NSD
                      version, modifying information of VNF instances to the new
                      applicable VNFD provided in the new NSD version. A
                      cardinality of 0 indicates that synchronization shall not
                      be done.
                    type: boolean
              moveVnfInstanceData:
                description: >
                  Specify existing VNF instance to be moved from one NS instance
                  to another NS instance. It shall be present only if updateType
                  = MOVE_VNF".
                type: array
                items:
                  description: >
                    This type specifies existing VNF instances to be moved from
                    one NS instance (source) to another NS instance
                    (destination). The NS instance defined in the Update NS
                    operation indicates the source NS instance and the
                    destination NS instance is specified in this data type
                    (referred to targetNsInstanceId). It shall comply with the
                    provisions defined in Table 6.5.3.35-1.
                  type: object
                  required:
                    - targetNsInstanceId
                  properties:
                    targetNsInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfInstanceId:
                      description: |
                        Specify the VNF instance that is moved.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
              addVnffg:
                description: >
                  Specify the new VNFFG to be created to the NS Instance. It
                  shall be present only if updateType = "ADD_VNFFG".
                type: array
                items:
                  description: >
                    This type specifies the parameters used for the creation of
                    a new VNFFG instance. It shall comply with the provisions
                    defined in Table 6.5.3.36-1.
                  type: object
                  required:
                    - vnffgdId
                    - vnffgName
                    - description
                  properties:
                    targetNsInstanceId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    vnffgName:
                      description: |
                        Human readable name for the VNFFG.
                      type: string
                    description:
                      description: |
                        Human readable description for the VNFFG.
                      type: string
              removeVnffgId:
                description: >
                  Identifier of an existing VNFFG to be removed from the NS
                  Instance. It shall be present only if updateType =
                  "REMOVE_VNFFG".
                type: array
                items:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
              updateVnffg:
                description: >
                  Specify the new VNFFG Information data to be updated for a
                  VNFFG of the NS Instance. It shall be present only if
                  updateType = "UPDATE_VNFFG".
                type: array
                items:
                  description: >
                    This type specifies the parameters used for the update of an
                    existing VNFFG instance. It shall comply with the provisions
                    defined in Table 6.5.3.37-1.
                  type: object
                  required:
                    - vnffgInfoId
                  properties:
                    vnffgInfoId:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    nfp:
                      description: >
                        Indicate the desired new NFP(s) for a given VNFFG after
                        the operations of addition/removal of NS components
                        (e.g. VNFs, VLs, etc.) have been completed, or indicate
                        the updated or newly created NFP classification and
                        selection rule which applied to an existing NFP.
                      type: array
                      items:
                        description: "This type contains information used to create or modify NFP instance parameters for the update of an existing VNFFG instance. It shall comply with the provisions defined in Table 6.5.3.38-1. NOTE 1:\tIt shall be present for modified NFPs and shall be absent for the new NFP. NOTE 2:\tIt shall be present for the new NFP, and it may be present otherwise. NOTE 3:\tAt least a CP or an nfpRule shall be present. NOTE 4: \tWhen multiple identifiers are included, the position of the identifier in the cpGroup value specifies the position of the group in the path.\n"
                        type: object
                        properties:
                          nfpInfoId:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                          nfpName:
                            description: >
                              Human readable name for the NFP. It shall be
                              present for the new NFP, and it may be present
                              otherwise. See note 2.
                            type: string
                          description:
                            description: >
                              Human readable description for the NFP. It shall
                              be present for the new NFP, and it may be present
                              otherwise. See note 2.
                            type: string
                          cpGroup:
                            description: >
                              Group(s) of CPs and/or SAPs which the NFP passes
                              by. Cardinality can be 0 if only updated or newly
                              created NFP classification and selection rule
                              which applied to an existing NFP is provided. See
                              note 3 and 4.
                            type: array
                            items:
                              description: "This type represents describes a group of CPs and/or SAPs pairs associated to  the same position in an NFP. It shall comply with the provisions defined in  Table 6.5.3.71-1. NOTE:\tAll CP or SAP pairs in a group shall be instantiated from connection point descriptors or service access point descriptors referenced in the corresponding NfpPositionDesc.\n"
                              type: object
                              properties:
                                cpPairInfo:
                                  description: >
                                    One or more pair(s) of ingress and egress
                                    CPs or SAPs which the NFP passes by. All CP
                                    or SAP pairs in a group shall be
                                    instantiated from connection point 
                                    descriptors or service access point
                                    descriptors referenced in the corresponding 
                                    NfpPositionDesc.

                                    See note.
                                  type: array
                                  minItems: 1
                                  items:
                                    description: "This type represents describes a pair of ingress and egress CPs or SAPs which  the NFP passes by. It shall comply with the provisions defined in Table 6.5.3.72-1.\nNOTE 1:\tThe presence of a single vnfExpCpId, pnfExtCpId, or sapId occurrence indicates that the CP or SAP is used both as an ingress and egress port at a particular NFP position. NOTE 2:\tOnly one of these three attributes shall be present.\n"
                                    type: object
                                    properties:
                                      vnfExtCpIds:
                                        description: >
                                          Identifier(s) of the VNF CP(s) which
                                          form the pair.

                                          See note 1 and note 2.
                                        type: array
                                        maxItems: 2
                                        items:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                      pnfExtCpIds:
                                        description: >
                                          Identifier(s) of the PNF CP(s) which
                                          form the pair.

                                          See note 1 and note 2.
                                        type: array
                                        maxItems: 2
                                        items:
                                          description: >
                                            An Identifier that is unique within
                                            respect to a PNF. Representation: string
                                            of variable length.
                                          type: string
                                      sapIds:
                                        description: >
                                          Identifier(s) of the SAP(s) which form
                                          the pair.

                                          See note 1 and note 2.
                                        type: array
                                        maxItems: 2
                                        items:
                                          description: >
                                            An identifier that is unique with
                                            respect to a NS. Representation: string
                                            of variable length.
                                          type: string
                                forwardingBehaviour:
                                  description: >
                                    Identifies a rule to apply to forward
                                    traffic to the ingress CPs or SAPs of  the
                                    group. Permitted values: * ALL = Traffic
                                    flows shall be forwarded simultaneously to
                                    all CPs or SAPs  of the group. * LB =
                                    Traffic flows shall be forwarded to one CP
                                    or SAP of the group selected  based on a
                                    loadbalancing algorithm.
                                  type: string
                                  enum:
                                    - ALL
                                    - LB
                                forwardingBehaviourInputParameters:
                                  description: "This type represents provides input parameters to configure the forwarding behaviour.  It shall comply with the provisions defined in Table 6.5.3.73-1. NOTE 1:\tIf applicable to the algorithm but not provided, default values determined by the VIM or NFVI are expected to be used. NOTE 2:\tWeight applies to the CP instances in the order they have been created.\n"
                                  type: object
                                  properties:
                                    algortihmName:
                                      description: >
                                        May be included if forwarding behaviour
                                        is equal to LB. Shall not be included
                                        otherwise. Permitted values: *
                                        ROUND_ROBIN * LEAST_CONNECTION *
                                        LEAST_TRAFFIC * LEAST_RESPONSE_TIME *
                                        CHAINED_FAILOVER * SOURCE_IP_HASH *
                                        SOURCE_MAC_HASH
                                      type: string
                                      enum:
                                        - ROUND_ROBIN
                                        - LEAST_CONNECTION
                                        - LEAST_TRAFFIC
                                        - LEAST_RESPONSE_TIME
                                        - CHAINED_FAILOVER
                                        - SOURCE_IP_HASH
                                        - SOURCE_MAC_HASH
                                    algorithmWeights:
                                      description: >
                                        Percentage of messages sent to a CP
                                        instance. May be included if applicable
                                        to  the algorithm. See note 1 and note
                                        2.
                                      type: array
                                      items:
                                        type: integer
                          nfpRule:
                            description: "The NfpRule data type is an expression of the conditions that shall be met in order for the NFP to be applicable to the packet. The condition acts as a flow classifier and it is met only if all the values expressed in the condition are matched by those in the packet. It shall comply with the provisions defined in Table 6.5.3.40-1.\nNOTE:\tAt least one attribute shall be present. If multiple attributes are present, a logical \"AND\" operation shall be applied to those attributes when matching packets against the rule.\n"
                            type: object
                            anyOf:
                              - required:
                                  - etherDestinationAddress
                              - required:
                                  - etherSourceAddress
                              - required:
                                  - etherType
                              - required:
                                  - vlanTag
                              - required:
                                  - protocol
                              - required:
                                  - dscp
                              - required:
                                  - sourcePortRange
                              - required:
                                  - destinationPortRange
                              - required:
                                  - sourceIpAddressPrefix
                              - required:
                                  - destinationIpAddressPrefix
                              - required:
                                  - extendedCriteria
                            properties:
                              etherDestinationAddress:
                                description: >
                                  A MAC address. Representation: string that
                                  consists of groups of two hexadecimal digits,
                                  separated by hyphens or colons.
                                type: string
                                format: MAC
                              etherSourceAddress:
                                description: >
                                  A MAC address. Representation: string that
                                  consists of groups of two hexadecimal digits,
                                  separated by hyphens or colons.
                                type: string
                                format: MAC
                              etherType:
                                description: "Indicates the protocol carried over the Ethernet layer.\nPermitted values: -\tIPV4 -\tIPV6\nSee note.\n"
                                type: string
                                enum:
                                  - IPV4
                                  - IPV6
                              vlanTag:
                                description: >
                                  Indicates a VLAN identifier in an IEEE
                                  802.1Q-2018 tag Multiple tags can be included
                                  for QinQ stacking. See note.
                                type: array
                                items:
                                  description: |
                                    A string as defined in IETF RFC 8259.
                                  type: string
                              protocol:
                                description: >
                                  Indicates the L4 protocol, For IPv4 this
                                  corresponds to the field called "Protocol" to
                                  identify the next level protocol. For IPv6
                                  this corresponds to the field is called the
                                  "Next Header" field. Permitted values: Any
                                  keyword defined in the IANA protocol registry,
                                  e.g.: TCP UDP ICMP

                                  See note.
                                type: string
                                enum:
                                  - TCP
                                  - UDP
                                  - ICMP
                              dscp:
                                description: >
                                  For IPv4 a string of "0" and "1" digits that
                                  corresponds to the 6-bit Differentiated
                                  Services Code Point (DSCP) field of the IP
                                  header. For IPv6 a string of "0" and "1"
                                  digits that corresponds to the 6
                                  differentiated services bits of the traffic
                                  class header field.

                                  See note.
                                type: string
                              sourcePortRange:
                                description: >
                                  The PortRange data type provides the lower and
                                  upper bounds of a range of Internet ports. It
                                  shall comply with the provisions defined in
                                  Table 6.5.3.42-1.
                                type: object
                                required:
                                  - lowerPort
                                  - upperPort
                                properties:
                                  lowerPort:
                                    description: >
                                      Identifies the lower bound of the port
                                      range. upperPort Integer
                                    type: integer
                                    minimum: 0
                                  upperPort:
                                    description: >
                                      Identifies the upper bound of the port
                                      range.
                                    type: integer
                                    minimum: 0
                              destinationPortRange:
                                description: >
                                  The PortRange data type provides the lower and
                                  upper bounds of a range of Internet ports. It
                                  shall comply with the provisions defined in
                                  Table 6.5.3.42-1.
                                type: object
                                required:
                                  - lowerPort
                                  - upperPort
                                properties:
                                  lowerPort:
                                    description: >
                                      Identifies the lower bound of the port
                                      range. upperPort Integer
                                    type: integer
                                    minimum: 0
                                  upperPort:
                                    description: >
                                      Identifies the upper bound of the port
                                      range.
                                    type: integer
                                    minimum: 0
                              sourceIpAddressPrefix:
                                description: >
                                  An IPV4 or IPV6 address range in CIDR format.
                                  For IPV4 address range, refer to IETF RFC 4632
                                  [12]. For IPV6 address range, refer to IETF
                                  RFC 4291.
                                type: string
                              destinationIpAddressPrefix:
                                description: >
                                  An IPV4 or IPV6 address range in CIDR format.
                                  For IPV4 address range, refer to IETF RFC 4632
                                  [12]. For IPV6 address range, refer to IETF
                                  RFC 4291.
                                type: string
                              extendedCriteria:
                                description: >
                                  Indicates values of specific bits in a frame.
                                  See note.
                                type: array
                                items:
                                  description: >
                                    The Mask data type identifies the value to
                                    be matched for a sequence of bits at a
                                    particular location in a frame. It shall
                                    comply with the provisions defined in Table
                                    6.5.3.41-1.
                                  type: object
                                  required:
                                    - startingPoint
                                    - length
                                    - value
                                  properties:
                                    startingPoint:
                                      description: >
                                        Indicates the offset between the last
                                        bit of the source mac address and the
                                        first bit of the sequence of bits to be
                                        matched.
                                      type: integer
                                    length:
                                      description: >
                                        Indicates the number of bits to be
                                        matched.
                                      type: integer
                                    value:
                                      description: >
                                        Provide the sequence of bit values to be
                                        matched.
                                      type: string
                    nfpInfoId:
                      description: >
                        Identifier(s) of the NFP to be deleted from a given
                        VNFFG.
                      type: array
                      items:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
              changeNsFlavourData:
                description: >
                  This type specifies an existing NS instance for which the DF
                  needs to be changed. This specifies the new DF, the
                  instantiationLevel of the new DF that may be used and the
                  additional parameters as input for the flavour change. It
                  shall comply with the provisions defined in Table 6.5.3.39-1.
                type: object
                required:
                  - newNsFlavourId
                properties:
                  newNsFlavourId:
                    description: >
                      An identifier that is unique within a NS descriptor.
                      Representation: string of variable length.
                    type: string
                  instantiationLevelId:
                    description: >
                      An identifier that is unique within a NS descriptor.
                      Representation: string of variable length.
                    type: string
              addPnfData:
                description: >
                  specifies the PNF to be added into the NS instance.  It shall
                  be present only if updateType = "ADD_PNF".
                type: array
                items:
                  description: >
                    This type specifies an PNF to be added to the NS instance
                    and the PNF Profile to use for this PNF. It shall comply
                    with the provisions defined in Table 6.5.3.14-1.
                  type: object
                  required:
                    - pnfId
                    - pnfName
                    - pnfdId
                    - pnfProfileId
                  properties:
                    pnfId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfName:
                      description: |
                        Name of the PNF
                      type: string
                    pnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    cpData:
                      description: |
                        Address assigned for the PNF external CP(s).
                      type: array
                      items:
                        description: >
                          This type represents the configuration data on the
                          external CP of the PNF. It shall comply with the
                          provisions defined in Table 6.5.3.16-1.
                        type: object
                        required:
                          - cpProtocolData
                        properties:
                          cpInstanceId:
                            description: >
                              An Identifier that is unique within respect to a
                              PNF. Representation: string of variable length.
                            type: string
                          cpdId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          cpProtocolData:
                            description: |
                              Address assigned for this CP.
                            type: array
                            items:
                              description: |
                                This type represents network protocol data.
                              type: object
                              required:
                                - layerProtocol
                              properties:
                                layerProtocol:
                                  description: >
                                    Identifier of layer(s) and protocol(s).
                                    Permitted values: IP_OVER_ETHERNET.
                                  type: string
                                  enum:
                                    - IP_OVER_ETHERNET
                                ipOverEthernet:
                                  description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                  type: object
                                  anyOf:
                                    - required:
                                        - ipAddresses
                                    - required:
                                        - macAddress
                                  properties:
                                    macAddress:
                                      description: >
                                        A MAC address. Representation: string
                                        that consists of groups of two
                                        hexadecimal digits, separated by hyphens
                                        or colons.
                                      type: string
                                      format: MAC
                                    segmentationType:
                                      description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                      type: string
                                      enum:
                                        - VLAN
                                        - INHERIT
                                    segmentationId:
                                      description: >
                                        Identification of the network segment to
                                        which the CP instance connects to. See
                                        note 3 and note 4.
                                      type: string
                                    ipAddresses:
                                      description: >
                                        List of IP addresses to assign to the CP
                                        instance. Each entry represents IP
                                        address data for fixed or dynamic IP
                                        address assignment per subnet. If this
                                        attribute is not present, no IP address
                                        shall be assigned. See note 1.
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - type
                                        oneOf:
                                          - required:
                                              - fixedAddresses
                                          - required:
                                              - numDynamicAddresses
                                          - required:
                                              - addressRange
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values:
                                                - IPV4
                                                - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          fixedAddresses:
                                            description: >
                                              Fixed addresses to assign (from the
                                              subnet defined by "subnetId" if
                                              provided). Exactly one of
                                              "fixedAddresses", "numDynamicAddresses"
                                              or "ipAddressRange" shall be present.
                                            type: array
                                            items:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                          numDynamicAddresses:
                                            description: >
                                              Number of dynamic addresses to assign
                                              (from the subnet defined by "subnetId"
                                              if provided). See note 2.
                                            type: integer
                                          addressRange:
                                            description: >
                                              An IP address range to be used, e.g. in
                                              case of egress connections. In case this
                                              attribute is present, IP addresses from
                                              the range will be used.
                                            type: object
                                            required:
                                              - minAddress
                                              - maxAddress
                                            properties:
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          subnetId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
              modifyPnfData:
                description: >
                  Specifies the PNF to be modified in the NS instance.  It shall
                  be present only if updateType = "MODIFY_PNF".
                type: array
                items:
                  description: "This type specifies an PNF to be modified in the NS instance. It shall comply with the provisions defined in Table 6.5.3.15-1. NOTE:\tAt least one attribute shall be present.\n"
                  type: object
                  required:
                    - pnfId
                  anyOf:
                    - required:
                        - pnfName
                    - required:
                        - cpData
                  properties:
                    pnfId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfName:
                      description: |
                        Name of the PNF. See note.
                      type: string
                    cpData:
                      description: |
                        Address assigned for the PNF external CP(s). See note.
                      type: array
                      items:
                        description: >
                          This type represents the configuration data on the
                          external CP of the PNF. It shall comply with the
                          provisions defined in Table 6.5.3.16-1.
                        type: object
                        required:
                          - cpProtocolData
                        properties:
                          cpInstanceId:
                            description: >
                              An Identifier that is unique within respect to a
                              PNF. Representation: string of variable length.
                            type: string
                          cpdId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          cpProtocolData:
                            description: |
                              Address assigned for this CP.
                            type: array
                            items:
                              description: |
                                This type represents network protocol data.
                              type: object
                              required:
                                - layerProtocol
                              properties:
                                layerProtocol:
                                  description: >
                                    Identifier of layer(s) and protocol(s).
                                    Permitted values: IP_OVER_ETHERNET.
                                  type: string
                                  enum:
                                    - IP_OVER_ETHERNET
                                ipOverEthernet:
                                  description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                  type: object
                                  anyOf:
                                    - required:
                                        - ipAddresses
                                    - required:
                                        - macAddress
                                  properties:
                                    macAddress:
                                      description: >
                                        A MAC address. Representation: string
                                        that consists of groups of two
                                        hexadecimal digits, separated by hyphens
                                        or colons.
                                      type: string
                                      format: MAC
                                    segmentationType:
                                      description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                      type: string
                                      enum:
                                        - VLAN
                                        - INHERIT
                                    segmentationId:
                                      description: >
                                        Identification of the network segment to
                                        which the CP instance connects to. See
                                        note 3 and note 4.
                                      type: string
                                    ipAddresses:
                                      description: >
                                        List of IP addresses to assign to the CP
                                        instance. Each entry represents IP
                                        address data for fixed or dynamic IP
                                        address assignment per subnet. If this
                                        attribute is not present, no IP address
                                        shall be assigned. See note 1.
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - type
                                        oneOf:
                                          - required:
                                              - fixedAddresses
                                          - required:
                                              - numDynamicAddresses
                                          - required:
                                              - addressRange
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values:
                                                - IPV4
                                                - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          fixedAddresses:
                                            description: >
                                              Fixed addresses to assign (from the
                                              subnet defined by "subnetId" if
                                              provided). Exactly one of
                                              "fixedAddresses", "numDynamicAddresses"
                                              or "ipAddressRange" shall be present.
                                            type: array
                                            items:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                          numDynamicAddresses:
                                            description: >
                                              Number of dynamic addresses to assign
                                              (from the subnet defined by "subnetId"
                                              if provided). See note 2.
                                            type: integer
                                          addressRange:
                                            description: >
                                              An IP address range to be used, e.g. in
                                              case of egress connections. In case this
                                              attribute is present, IP addresses from
                                              the range will be used.
                                            type: object
                                            required:
                                              - minAddress
                                              - maxAddress
                                            properties:
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          subnetId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
              removePnfId:
                description: >
                  Identifier of the PNF to be deleted from the NS instance. It
                  shall be present only if updateType = "REMOVE_PNF".
                type: array
                items:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
              modifyWanConnectionInfoData:
                description: >
                  Specifies the data to modify about WAN related connectivity
                  information. It shall be present only if updateType =
                  "MODIFY_WAN_CONNECTION_INFO".
                type: array
                items:
                  description: >
                    This type represents attribute modifications for WAN
                    connection information. The attributes of the
                    "WanConnectionInfo" that can be modified according to the
                    provisions of the "UpdateNsRequest" in clause 6.5.2.12
                    related to WAN connection information are included in the
                    "ModifyWanConnectionInfoData" data type. It shall comply
                    with the provisions defined in table 6.5.3.92-1.
                  type: object
                  required:
                    - wanConnectionInfoId
                  properties:
                    wanConnectionInfoId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    mscsName:
                      description: >
                        New value of the "mscsName" attribute in "MscsInfo", or
                        "null" to remove the attribute.
                      type: string
                    mscsDescription:
                      description: >
                        New value of the "mscsDescription" attribute in
                        "MscsInfo", or "null" to remove the attribute.
                      type: string
                    mscsEndpoints:
                      description: >
                        New content of certain entries of MSCS endpoints in the
                        "mscsEndpoints" attribute in "MscsInfo", as defined
                        below this table.
                      type: array
                      items:
                        description: >
                          This type provides encapsulates information about an
                          MSCS endpoint of the MSCS. It shall comply with the
                          provisions defined in table 6.5.3.83-1.
                        type: object
                        required:
                          - mscsEndpointId
                          - directionality
                          - connectivityServiceEndpoinId
                        properties:
                          mscsEndpointId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          directionality:
                            description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                            type: string
                            enum:
                              - INBOUND
                              - OUTBOUND
                              - BOTH
                          connectivityServiceEndpoinId:
                            description: >
                              References the connectivity service endpoint
                              configuration information applicable to support
                              the MSCS endpoint. More than one connectivity
                              service endpoint can be referred when endpoints
                              are in LAG mode.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                    removeMscsEndpointIds:
                      description: >
                        List of identifier entries to be deleted from the
                        "mscsEndpoints" attribute array in "MscsInfo", to be
                        used as "deleteIdList" as defined below this table.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    connectivityServiceEndpoints:
                      description: >
                        New content of certain entries of connectivity service
                        endpoints in the "connectivityServiceEndpointInfos"
                        attribute in "WanConnectionProtocolInfo", as defined
                        below this table.
                      type: array
                      items:
                        description: >
                          This type provides configuration data for the NFVI-PoP
                          network gateway providing connectivity service
                          endpoints. The connectivity service endpoints are used
                          as endpoints by an MSCS. It shall comply with the
                          provisions defined in Table 6.5.3.84-1.
                        type: object
                        required:
                          - connectivityServiceEndpointId
                          - vimId
                        properties:
                          connectivityServiceEndpointId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          siteToWanLayer2ProtocolData:
                            description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                            type: object
                            required:
                              - layer2ConnectionInfo
                            properties:
                              layer2ConnectionInfo:
                                description: >
                                  Layer 2 protocol parameters of the
                                  connectivity service endpoint (CSE).
                                type: object
                                required:
                                  - connectionType
                                  - interfaceType
                                  - interfaceTagging
                                  - encapsulationType
                                properties:
                                  connectionType:
                                    description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                    type: string
                                    enum:
                                      - CSE
                                      - AGGREGATE_CSE
                                  interfaceType:
                                    description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                    type: string
                                    enum:
                                      - PARENT
                                      - LOGICAL
                                  interfaceTagging:
                                    description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                    type: string
                                    enum:
                                      - UNTAGGED
                                      - TAGGED
                                  encapsulationType:
                                    description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                    type: string
                                    enum:
                                      - ETH
                                      - VLAN
                                      - VXLAN
                                  vlanTaggingType:
                                    description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                    type: string
                                    enum:
                                      - DOT1Q
                                      - QINQ
                                      - QINANY
                                  wanSegmentIds:
                                    description: >
                                      Segment identifiers to pass on the tagged
                                      interface. Shall be present if
                                      encapsulationType="VLAN" or “VXLAN".
                                    type: object
                                    required:
                                      - wanSegmentIdValue
                                    properties:
                                      wanSegmentIdValue:
                                        description: >
                                          Identifier of the network segment (e.g.,
                                          VLAN id or VNI).
                                        type: string
                                      wanSegmentIdUpperRange:
                                        description: >
                                          Identifier of the upper range network
                                          segment, in case the "wanSegmentIds" is
                                          used to define a range.
                                        type: string
                                  vxlanConfig:
                                    description: >
                                      Additional configuration needed when using
                                      VXLAN encapsulation. Shall be present if
                                      interfaceTagging="TAGGED" and
                                      encapsulationType="VXLAN".
                                    type: object
                                    required:
                                      - peerMode
                                    properties:
                                      peerMode:
                                        description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                        type: string
                                        enum:
                                          - STATIC
                                          - BGP_EVPN
                                      peers:
                                        description: >
                                          List of IP addresses of VTEP peers when
                                          using static mode.
                                        type: array
                                        items:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                  lagInterfaceData:
                                    description: >
                                      Information for setting up a LAG interface
                                      aggregating multiple connectivity service
                                      endpoints.
                                    type: object
                                    required:
                                      - aggregatedEndpoints
                                      - lacpActivation
                                      - lacpConfig
                                    properties:
                                      aggregatedEndpoints:
                                        description: >
                                          List of the connectivity service
                                          endpoints that are to be aggregated.
                                          Shall be present if
                                          connectionType="AGGREGATE_CSE". In case
                                          of aggregating connectivity service
                                          endpoints, only one
                                          SiteToWanLayer2ProtocolData shall be
                                          provided for the whole set of aggregated
                                          endpoints.
                                        type: array
                                        items:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                      lacpActivation:
                                        description: >
                                          Indicates whether to activate LACP on
                                          the interface. If "TRUE", the LACP is to
                                          be activated, or "FALSE" otherwise.
                                          Default value is "FALSE".
                                        type: boolean
                                      lacpConfig:
                                        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
                                  layer2ControlProtocol:
                                    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
                              mtuL2:
                                description: >
                                  Maximum Transmission Unit (MTU) that can be
                                  forwarded at layer 2 (in bytes). Default value
                                  is "1500" (bytes).
                                type: number
                              virtualRoutingAndForwarding:
                                description: >
                                  Configuration related to the L2 virtual
                                  routing and forwarding (MAC-VRF).
                                type: object
                                required:
                                  - macVrfName
                                properties:
                                  macVrfName:
                                    description: >
                                      Name (or identifier) of the MAC-VRF
                                      instance.
                                    type: string
                              forwardingConfig:
                                description: >
                                  Information related to the forwarding of the
                                  VN in the NFVI-PoP to the connectivity service
                                  endpoint, if information about the VN to
                                  "stitch" is already known. . by the OSS/BSS.
                                  Shall not be provided otherwise, in which case
                                  the NFVO will infer the forwarding
                                  configuration based on the NS VL, or external
                                  VL, or externally-managed VL provisioning.
                                type: object
                                oneOf:
                                  - required:
                                      - networkResources
                                  - required:
                                      - vnSegmentIds
                                properties:
                                  networkResources:
                                    description: >
                                      Reference to the VN resource to be
                                      forwarded into/from the MSCS. See note.
                                    type: array
                                    items:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                  vnSegmentIds:
                                    description: >
                                      Identifiers of the network segments of the
                                      VN resources to be forwarded into/from the
                                      MSCS.
                                    type: object
                                    required:
                                      - vnSegmentIdValue
                                    properties:
                                      vnSegmentIdValue:
                                        description: |
                                          Identifier of the network segment.
                                        type: string
                                      vnSegmentIdUpperRange:
                                        description: >
                                          Identifier of the upper range network
                                          segment, in case the "vnSegmentIds" is
                                          used to define a range.
                                        type: string
                          siteToWanLayer3ProtocolData:
                            description: >
                              This type provides information about Layer 3
                              protocol specific information for the stitching of
                              the intra-site VN to the multi-site connectivity
                              service over the WAN. It shall comply with the
                              provisions defined in Table 6.5.3.86-1.
                            type: object
                            required:
                              - routingInfo
                            properties:
                              logicalInterfaceIpAddress:
                                description: >
                                  IP addressing information associated to a
                                  logical interface. Shall be present if the
                                  "interfaceType" of the
                                  SiteToWanLayer2ProtocolData is equal to
                                  "LOGICAL".
                                type: object
                                required:
                                  - ipAddress
                                  - associatedSegmentId
                                properties:
                                  ipAddress:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  associatedSegmentId:
                                    description: >
                                      The associated segment identifier that has
                                      triggered the creation of the logical
                                      interface. The value shall be one of the
                                      values listed in the "wanSegmentIds" of
                                      the "siteToWanLayer2ProtocolData".
                                    type: string
                              routingInfo:
                                description: >
                                  The routing information that is activated on
                                  the connectivity service endpoint. More than
                                  one "routingInfo" is allowed to enable
                                  stacking different routing protocols (e.g.,
                                  one routing protocol for IPv4 and another one
                                  for IPv6).
                                type: object
                                required:
                                  - routingProtocol
                                  - routingAddressFamily
                                properties:
                                  routingProtocol:
                                    description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                    type: string
                                    enum:
                                      - BGP
                                      - RIP
                                      - OSPF
                                      - STATIC
                                      - DIRECT
                                      - VRRP
                                  staticRouting:
                                    description: >
                                      Defines a static route. It shall only be
                                      present if the routingProtocol="STATIC".
                                    type: object
                                    required:
                                      - ipVersion
                                      - ipPrefix
                                      - prefixSize
                                      - nextHop
                                    properties:
                                      ipVersion:
                                        description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                        type: string
                                        enum:
                                          - IPV4
                                          - IPV6
                                      ipPrefix:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                      prefixSize:
                                        description: |
                                          The IP prefix size.
                                        type: number
                                      nextHop:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                  routingAddressFamily:
                                    description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                    type: string
                                    enum:
                                      - IPV4
                                      - IPv6
                                  ospfRouting:
                                    description: >
                                      Defines parameters for OSPF routing. It
                                      shall only be present if the
                                      routingProtocol="OSPF".
                                    type: object
                                    required:
                                      - areaId
                                    properties:
                                      areaId:
                                        description: >
                                          The routing area identifier, e.g., a
                                          number or an IP address.
                                        type: string
                                  bgpRouting:
                                    description: >
                                      Defines parameters for BGP routing. It
                                      shall only be present if the
                                      routingProtocol="BGP".
                                    type: object
                                    required:
                                      - bgpAs
                                    properties:
                                      bgpAs:
                                        description: >
                                          The Autonomous System (AS)
                                          identification applicable to the BGP
                                          routing info entry.
                                        type: object
                                      bgpNeighbour:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                      bgpAdditionalParam:
                                        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
                                  routeMapsDistribution:
                                    description: >
                                      Maps of routes that are permitted or
                                      denied for redistribution.
                                    type: object
                                    required:
                                      - policy
                                      - sequence
                                      - matchAndSetRule
                                    properties:
                                      policy:
                                        description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                        type: string
                                        enum:
                                          - PERMIT
                                          - DENY
                                      sequence:
                                        description: >
                                          Sequence or index number assigned to the
                                          route-map.
                                        type: number
                                      matchAndSetRule:
                                        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
                              mtuL3:
                                description: >
                                  Maximum Transmission Unit (MTU) that can be
                                  forwarded at layer 3 (in bytes). Default value
                                  is "1500" (bytes).
                                type: number
                              virtualRoutingAndForwarding:
                                description: >
                                  Configuration related to the virtual routing
                                  and forwarding (VRF).
                                type: object
                                required:
                                  - vrfName
                                properties:
                                  vrfName:
                                    description: |
                                      Name (or identifier) of the VRF instance.
                                    type: string
                              bfdConfig:
                                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
                    removeConnectivityServiceEndpoints:
                      description: >
                        List of identifier entries to be deleted from the
                        "connectivityServiceEndpointInfos" attribute array in
                        "WanConnectionProtocolInfo", to be used as
                        "deleteIdList" as defined below this table.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
              updateTime:
                description: >
                  Date-time stamp. Representation: String formatted according
                  toas defined by the date-time production in IETF RFC 3339.
                format: date-time
              createSnapshotData:
                description: >
                  This type represents the information that are needed for VNF
                  snapshot creation. When the NFVO invokes the Create VNF
                  snapshot operation, a set of these parameters are then passed
                  by the NFVO to the VNFM. It shall comply with the provisions
                  defined in Table 6.5.3.76-1.
                type: object
                required:
                  - vnfInstanceId
                properties:
                  vnfInstanceId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  additionalParams:
                    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
                  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
              revertVnfToSnapshotData:
                description: >
                  This type specifies the identifier of an existing VNF instance
                  of the NS instance to be reverted and the identifier of an
                  existing VNF Snapshot to be reverted to. It shall comply with
                  the provisions defined in Table 6.5.3.75-1.
                type: object
                required:
                  - vnfInstanceId
                  - vnfSnapshotInfoId
                properties:
                  vnfInstanceId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfSnapshotInfoId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  additionalParams:
                    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
              deleteVnfSnapshotData:
                description: >
                  This type specifies the identifier of information of an
                  available VNF Snapshot to be deleted and the identifier of the
                  related VNF instance of the NS instance. It shall comply with
                  the provisions defined in Table 6.5.3.74-1.
                type: object
                required:
                  - vnfInstanceId
                  - vnfSnapshotInfoId
                properties:
                  vnfInstanceId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfSnapshotInfoId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
              addNsVirtualLinkData:
                description: >
                  Specify data to be used to create a new NsVirtualLink
                  instance. This parameter shall be present only if updateType =
                  “CREATE_NS_VIRTUAL_LINK”.
                type: array
                items:
                  description: "This type specifies the parameters used for the creation of a new NsVirtualLink instance. It shall comply with the provisions defined in table 6.5.3.95-1. NOTE:\tAll NsVirtualLink instances of a particular NS DF based on a specific \"NsVirtualLinkDesc\" have the same characteristics as they use the same \"VirtualLinkProfile\".\n"
                  type: object
                  required:
                    - nsVirtualLinkProfileId
                  properties:
                    nsVirtualLinkProfileId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
              deleteNsVirtualLinkId:
                description: >
                  Identify an existing NsVirtualLink instance to be deleted. The
                  parameter shall be present only if updateType =
                  “DELETE_NS_VIRTUAL_LINK”.
                type: array
                items:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
      required: true
    NsInstanceHealRequest:
      description: |
        Parameters for the heal NS operation, as defined in clause 6.5.2.13.
      content:
        application/json:
          schema:
            description: >
              This type represents request parameters for the "Heal NS"
              operation. This operation supports the healing of an NS instance,
              either by healing the complete NS instance or by healing one of
              more of the VNF instances that are part of this NS. It shall
              comply with the provisions defined in Table 6.5.2.13-1. Either the
              parameter healNsData or the parameter healVnfData, but not both
              shall be provided.
            type: object
            oneOf:
              - required:
                  - healNsData
              - required:
                  - healVnfData
            properties:
              healNsData:
                description: "This type represents the information used to heal a NS. It shall comply with the provisions defined in Table 6.5.3.43-1.\nNOTE:\tEither the actionsHealing or healScript attribute shall be present, not both attributes.\n"
                type: object
                required:
                  - degreeHealing
                oneOf:
                  - required:
                      - actionsHealing
                  - required:
                      - healScript
                properties:
                  degreeHealing:
                    description: >
                      Indicates the degree of healing. Possible values include:
                      - HEAL_RESTORE: Complete the healing of the NS restoring
                      the state of the NS before the failure occurred -
                      HEAL_QOS: Complete the healing of the NS based on the
                      newest QoS values - HEAL_RESET: Complete the healing of
                      the NS resetting to the original instantiation state of
                      the NS - PARTIAL_HEALING
                    type: string
                    enum:
                      - HEAL_RESTORE
                      - HEAL_QOS
                      - HEAL_RESET
                      - PARTIAL_HEALING
                  actionsHealing:
                    description: >
                      Used to specify dedicated healing actions in a particular
                      order (e.g. as a script). The actionsHealing attribute can
                      be used to provide a specific script whose content and
                      actions might only be possible to be derived during
                      runtime. See note.
                    type: array
                    items:
                      description: |
                        A string as defined in IETF RFC 8259.
                      type: string
                  healScript:
                    description: >
                      An identifier that is unique within a NS descriptor.
                      Representation: string of variable length.
                    type: string
                  additionalParamsforNs:
                    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
              healVnfData:
                description: |
                  Provides the information needed to heal a VNF. See note.
                type: array
                items:
                  description: >
                    This type represents the information to heal a VNF that is
                    part of an NS.  The NFVO shall then invoke the Heal VNF
                    operation towards the appropriate VNFM. It shall comply with
                    the provisions defined in Table 6.5.3.44-1.
                  type: object
                  required:
                    - vnfInstanceId
                  properties:
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    cause:
                      description: >
                        Indicates the reason why a healing procedure is
                        required.
                      type: string
                    additionalParams:
                      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
    NsInstanceTerminateRequest:
      description: |
        The terminate NS request parameters, as defined in  clause 6.5.2.15.
      content:
        application/json:
          schema:
            description: "This type represents a NS termination request.  It shall comply with the provisions defined in Table 6.5.2.15-1.\nNOTE 1:\tInformation needed for terminating specific VNF instances shall only be specified in the \"terminateVnfData\" attribute, and not in the \"terminateNsData\" attribute. NOTE 2: \tVNF instance(s) part of this NS instance is(are) terminated as part of Terminate NS operation only if the instance(s) is(are) not used by any other NS instance.\n"
            type: object
            properties:
              terminationTime:
                description: >
                  Date-time stamp. Representation: String formatted according
                  toas defined by the date-time production in IETF RFC 3339.
                format: date-time
              terminateNsData:
                type: object
                properties:
                  additionalParamsforNs:
                    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
              terminateVnfData:
                description: >
                  Provides the information to terminate VNF instance(s). See
                  note 1 and 2.
                type: array
                items:
                  description: >
                    Date-time stamp. Representation: String formatted according
                    toas defined by the date-time production in IETF RFC 3339.
                  format: date-time
      required: true
    NsLcmOpOccCancelRequest:
      description: >
        The POST request to this resource shall include a CancelMode structure
        in the payload body to choose between

        "graceful" and "forceful" cancellation.
      content:
        application/json:
          schema:
            description: >
              This type represents a parameter to select the mode of canceling
              an ongoing NS LCM operation occurrence.  It shall comply with the
              provisions defined in Table 6.5.2.16-1.
            type: object
            required:
              - cancelMode
            properties:
              cancelMode:
                description: >
                  Cancellation mode.

                  The NFVO shall not start any new VNF lifecycle management and
                  resource management operation, and shall wait for the ongoing
                  VNF lifecycle management and resource management operations in
                  the underlying system, typically the VNFM and VIM, to finish
                  execution or to time out. After that, the NFVO shall put the
                  operation occurrence into the FAILED_TEMP state.

                  The NFVO shall not start any new VNF lifecycle management and
                  resource management operation, shall cancel the ongoing VNF
                  lifecycle management and resource management operations in the
                  underlying system, typically the VNFM and VIM, and shall wait
                  for the cancellation to finish or to time out. After that, the
                  NFVO shall put the operation occurrence into the FAILED_TEMP
                  state.
                type: string
                enum:
                  - GRACEFUL
                  - FORCEFUL
      required: true
    NsLcmSubscriptionRequest:
      description: |
        Details of the subscription to be created, as defined in clause 6.5.2.2.
      content:
        application/json:
          schema:
            description: >
              This type represents a subscription request related to
              notifications  about NS lifecycle changes. It shall comply with
              the provisions defined in Table 6.5.2.2-1..
            type: object
            required:
              - callbackUri
            properties:
              filter:
                description: "This type represents a subscription filter related to notifications about  NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n"
                type: object
                properties:
                  nsInstanceSubscriptionFilter:
                    description: >
                      This type represents subscription filter criteria to match
                      NS instances.

                      NOTE 1: The attributes "nsdIds", "vnfdIds" and "pnfdIds"
                      are alternatives to reference to NS instances that are
                      created based on certain NSDs, or contain VNF instances
                      that are based on certain VNFDs, or contain PNFs that are
                      based on certain PNFDs in a filter. They should not be
                      used together in the same filter instance, but one
                      alternative should be chosen.

                      NOTE 2: The attributes "nsInstanceIds" and
                      "nsInstanceNames" are alternatives to reference to
                      particular NS Instances in a filter. They should not be
                      used both in the same filter instance, but one alternative
                      should be chosen.
                    type: object
                    anyOf:
                      - oneOf:
                          - required:
                              - nsdIds
                          - required:
                              - vnfdIds
                          - required:
                              - pnfdIds
                      - oneOf:
                          - required:
                              - nsInstanceIds
                          - required:
                              - nsInstanceNames
                    properties:
                      nsdIds:
                        description: >
                          If present, match NS instances that were created based
                          on a NSD identified by one of the nsdId values listed
                          in this attribute. See note 1.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      vnfdIds:
                        description: >
                          If present, match NS instances that contain VNF
                          instances that were created based on a VNFD identified
                          by one of the vnfdId values listed in this attribute.
                          See note 1.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      pnfdIds:
                        description: >
                          If present, match NS instances that contain PNFs that
                          are represented by a PNFD identified by one of the
                          pnfdId values listed in this attribute. See note 1.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      nsInstanceIds:
                        description: >
                          If present, match NS instances with an instance
                          identifier listed in this attribute. See note 2.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      nsInstanceNames:
                        description: >
                          If present, match NS instances with a NS Instance Name
                          listed in this attribute. See note 2.
                        type: array
                        items:
                          description: |
                            A string as defined in IETF RFC 8259.
                          type: string
                  notificationTypes:
                    description: "Match particular notification types. Permitted values: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification -\tNsLcmCapacityShortageNotification - NsChangeNotification\nSee note.\n"
                    type: array
                    items:
                      type: string
                      enum:
                        - NsLcmOperationOccurenceNotification
                        - NsIdentifierCreationNotification
                        - NsIdentifierDeletionNotification
                        - NsChangeNotification
                  operationTypes:
                    description: >
                      Match particular NS lifecycle operation types for the
                      notification of type NsLcmOperationOccurrenceNotification.
                      May be present if the "notificationTypes" attribute
                      contains the value "NsLcmOperationOccurrenceNotification",
                      and shall be absent otherwise.
                    type: array
                    items:
                      description: >
                        The enumeration NsLcmOpType represents those lifecycle
                        operations that trigger a NS lifecycle management
                        operation occurrence notification. Value | Description
                        ------|------------ INSTANTIATE | Represents the
                        "Instantiate NS" LCM operation. SCALE | Represents the
                        "Scale NS" LCM operation. UPDATE | Represents the
                        "Update NS" LCM operation. TERMINATE | Represents the
                        "Terminate NS" LCM operation. HEAL | Represents the
                        "Heal NS" LCM operation.
                      type: string
                      enum:
                        - INSTANTIATE
                        - SCALE
                        - UPDATE
                        - TERMINATE
                        - HEAL
                  operationStates:
                    description: >
                      Match particular LCM operation state values as reported in
                      notifications of type
                      NsLcmOperationOccurrenceNotification. May be present if
                      the "notificationTypes" attribute contains the value
                      "NsLcmOperationOccurrenceNotification", and shall be
                      absent otherwise.
                    type: array
                    items:
                      description: >
                        Value | Description ------|------------ PROCESSING | The
                        LCM operation is currently in execution. COMPLETED | The
                        LCM operation has been completed successfully.
                        PARTIALLY_COMPLETED | The LCM operation has been
                        partially completed with accepTable errors. FAILED_TEMP
                        | The LCM operation has failed and execution has
                        stopped, but the execution of the operation is not
                        considered to be closed. FAILED | The LCM operation has
                        failed and it cannot be retried or rolled back, as it is
                        determined that such action will not succeed.
                        OLLING_BACK | The LCM operation is currently being
                        rolled back. ROLLED_BACK | The LCM operation has been
                        successfully rolled back, i.e. The state of the NS prior
                        to the original operation invocation has been restored
                        as closely as possible.
                      type: string
                      enum:
                        - PROCESSING
                        - COMPLETED
                        - PARTIALLY_COMPLETED
                        - FAILED_TEMP
                        - FAILED
                        - ROLLING_BACK
                        - ROLLED_BACK
                  affectedNsInstanceIds:
                    description: >
                      Match particular identifiers of the NS instance(s) related
                      to the operation occurrence that were affected by the
                      shortage as reported in notifications of type
                      NsLcmCapacityShortageNotification. May be present if the
                      "notificationTypes" attribute contains the value
                      "NsLcmCapacityShortageNotification", and shall be absent
                      otherwise.
                    items:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                  nsComponentTypes:
                    description: >
                      Match particular NS component types for the notification
                      of type NsChangeNotification. May be present if the
                      "notificationTypes" attribute contains the value "NsChang.
                    type: array
                    items:
                      description: >
                        The enumeration NsComponentType represents the NS
                        component type. It shall comply with the provisions
                        defined in Table 6.5.4.5-1. Value | Description
                        ------|------------ VNF | Represents the impacted NS
                        component is a VNF. PNF | Represents the impacted NS
                        component is a PNF. NS | Represents the impacted NS
                        component is a nested NS.
                      type: string
                      enum:
                        - VNF
                        - PNF
                        - NS
                  lcmOpNameImpactingNsComponent:
                    description: >
                      Match particular LCM operation names for the notification
                      of type NsChangeNotification. May be present if the
                      "notificationTypes" attribute contains the value
                      "NsChangeNotification", and shall be absent otherwise.
                    type: array
                    items:
                      description: >
                        The enumeration LcmOpNameForChangeNotificationType
                        represents the name of the lifecycle operation that
                        impacts the NS component and trigger an NS change
                        notification. It shall comply with the provisions
                        defined in Table 6.5.4.6-1. Value | Description
                        ------|------------ VNF_INSTANTIATE | Represents the
                        "Instantiate VNF" LCM operation. VNF_SCALE | Represents
                        the "Scale VNF" LCM operation. VNF_SCALE_TO_LEVEL |
                        Represents the "Scale VNF to Level" LCM operation.
                        VNF_CHANGE_FLAVOUR | Represents the "Change VNF Flavor"
                        LCM operation. VNF_TERMINATE | Represents the "Terminate
                        VNF" LCM operation. VNF_HEAL | Represents the "Heal VNF"
                        LCM operation. VNF_OPERATE | Represents the "Operate
                        VNF" LCM operation. VNF_CHANGE_EXT_CONN | Represents the
                        "Change external VNF connectivity" LCM operation.
                        VNF_MODIFY_INFO | Represents the "Modify VNF
                        Information" LCM operation.            NS_INSTANTIATE |
                        Represents the "Instantiate NS" LCM operation NS_SCALE |
                        Represents the "Scale NS" LCM operation. NS_UPDATE |
                        Represents the "Update NS" LCM operation. NS_TERMINATE |
                        Represents the "Terminate NS" LCM operation. NS_HEAL |
                        Represents the "Heal NS" LCM operation.
                      type: string
                      enum:
                        - VNF_INSTANTIATE
                        - VNF_SCALE
                        - VNF_SCALE_TO_LEVEL
                        - VNF_CHANGE_FLAVOUR
                        - VNF_TERMINATE
                        - VNF_HEAL
                        - VNF_OPERATE
                        - VNF_CHANGE_EXT_CONN
                        - VNF_MODIFY_INFO
                        - VNF_CREATE_SNAPSHOT
                        - VNF_REVERT_TO_SNAPSHOT
                        - VNF_CHANGE_VNFPKG
                        - NS_INSTANTIATE
                        - NS_SCALE
                        - NS_UPDATE
                        - NS_TERMINATE
                        - NS_HEAL
                  lcmOpOccStatusImpactingNsComponent:
                    description: >
                      Match particular LCM operation status values as reported
                      in notifications of type NsChangeNotification. May be
                      present if the "notificationTypes" attribute contains the
                      value "NsChangeNotification", and shall be absent
                      otherwise.
                    type: array
                    items:
                      description: "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue                   | Description VNF_INSTANTIATE\t        Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t                Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t    Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t    Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t            Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t                Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t            Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t    Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t        Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t    Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t        Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t        Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t                Represents the \"Scale NS\" LCM operation. NS_UPDATE\t                Represents the \"Update NS\" LCM operation. NS_TERMINATE\t            Represents the \"Terminate NS\" LCM operation. NS_HEAL\t                Represents the \"Heal NS\" LCM operation.\n"
                      type: string
                      enum:
                        - VNF_INSTANTIATE
                        - VNF_SCALE
                        - VNF_SCALE_TO_LEVEL
                        - VNF_CHANGE_FLAVOUR
                        - VNF_TERMINATE
                        - VNF_HEAL
                        - VNF_OPERATE
                        - VNF_CHANGE_EXT_CONN
                        - VNF_MODIFY_INFO
                        - VNF_CREATE_SNAPSHOT
                        - VNF_REVERT_TO_SNAPSHOT
                        - VNF_CHANGE_VNFPKG
                        - NS_INSTANTIATE
                        - NS_SCALE
                        - NS_UPDATE
                        - NS_TERMINATE
                        - NS_HEAL
              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
              verbosity:
                description: >
                  The enumeration LcmOpOccNotificationVerbosityType provides
                  values to control the verbosity of LCM operation occurrence
                  notifications. It shall comply with the provisions defined in
                  table 6.5.4.11-1. * FULL: This signals a full notification
                  which contains all change details. * SHORT: This signals a
                  short notification which omits large-volume change details to
                  reduce the size of data to
                           be sent via the notification mechanism.
                type: string
                enum:
                  - FULL
                  - SHORT
      required: true
  responses:
    NsInstances.Get.200:
      description: >
        200 OK

        Shall be returned when information about zero or more NS instances has
        been queried successfully. The response

        body shall contain in an array the representations of zero or more NS
        instances, as defined in clause 6.5.2.8.

        If the "filter" URI parameter or one of the "all_fields", "fields" (if
        supported), "exclude_fields" (if supported)

        or "exclude_default" URI parameters was supplied in the request, the
        data in the response body shall have been

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

        If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1
        of ETSI GS NFV-SOL 013 [16] 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 [16].
      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
        Link:
          description: >
            Reference to other resources. Used for paging in the present
            document, see clause 4.7.2.1.
          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 response for Query NS operation.  It shall comply with the provisions defined in Table 6.5.2.10-1.\nNOTE 1:\tIf the \"nsState\" attribute is INSTANTIATED, at least either one\n          \"vnfInstance\" attribute or one \"nestedNsInstanceId\" attribute shall be present.\nNOTE 2:\tThe “priority” attribute of the NS instance is configured in the NSD in the NsDf structure.\n          The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility.\n          The \"zero\" value expresses the highest priority and the fact that the NS instance based on this DF cannot be\n          pre-empted during resource allocation.\nNOTE 3:\tExamples for the usage of priority include conflict resolution in case of resource shortage\n"
              type: object
              required:
                - id
                - nsInstanceName
                - nsInstanceDescription
                - nsdId
                - nsdInfoId
                - nsState
                - _links
              properties:
                id:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                nsInstanceName:
                  description: |
                    Human readable name of the NS instance.
                  type: string
                nsInstanceDescription:
                  description: |
                    Human readable description of the NS instance.
                  type: string
                nsdId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                nsdInfoId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                flavourId:
                  description: >
                    An identifier that is unique within a NS descriptor.
                    Representation: string of variable length.
                  type: string
                priority:
                  description: |
                    A number as defined in IETF RFC 8259.
                  type: number
                vnfInstance:
                  description: >
                    Information on constituent VNF(s) of the NS instance. See
                    note 1.
                  type: array
                  items:
                    description: >
                      This type represents a VNF instance. It shall comply with
                      the provisions defined in table 6.5.3.57-1.

                      NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides
                      examples illustrating the relationship among the 
                            different run-time information elements (CP, VL and link ports) used to represent the connectivity 
                            of a VNF.

                      NOTE 1: Modifying the value of this attribute shall not be
                      performed when conflicts exist between the 
                              previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to 
                              the previous VNFD in other aspects than merely referencing to other VNF software images. 
                              In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, 
                              the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall 
                              be kept in sync with the values in the VNFD.
                      NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and
                      format of the VNFD based on TOSCA specifications. NOTE 3:
                      VNF configurable properties are sometimes also referred to
                      as configuration parameters applicable 
                              to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, 
                              some are set prior to instantiation (are part of initial configuration) and can be modified later, 
                              and others can be set only after instantiation. The applicability of certain configuration may depend 
                              on the VNF and the required operation of the VNF at a certain point in time.
                      NOTE 4: It is possible to have several
                      ExtManagedVirtualLinkInfo for the same VNF internal VL in
                      case of a 
                              multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same 
                              VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed 
                              multi-site VL instance (refer to clause 6.5.3.59).
                      NOTE 5: Even though externally-managed internal VLs are
                      also used for VNF-internal connectivity, they shall not 
                              be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
                    type: object
                    required:
                      - id
                      - vnfdId
                      - vnfProvider
                      - vnfProductName
                      - vnfSoftwareVersion
                      - vnfdVersion
                      - vnfPkgId
                      - instantiationState
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfInstanceName:
                        description: >
                          Name of the VNF instance. Modifications to this
                          attribute can be requested using the
                          "ModifyVnfInfoData" structure.
                        type: string
                      vnfInstanceDescription:
                        description: >
                          Human-readable description of the VNF instance.
                          Modifications to this attribute can be requested using
                          the "ModifyVnfInfoData" structure.
                        type: string
                      vnfdId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfProvider:
                        description: >
                          Provider of the VNF and the VNFD. The value is copied
                          from the VNFD.
                        type: string
                      vnfProductName:
                        description: >
                          Name to identify the VNF Product. The value is copied
                          from the VNFD.
                        type: string
                      vnfSoftwareVersion:
                        description: |
                          A Version. Representation: string of variable length.
                        type: string
                      vnfdVersion:
                        description: |
                          A Version. Representation: string of variable length.
                        type: string
                      vnfPkgId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfConfigurableProperties:
                        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
                      vimId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      instantiationState:
                        description: >
                          The instantiation state of the VNF.

                          Permitted values: - NOT_INSTANTIATED: The VNF instance
                          is terminated or not instantiated. - INSTANTIATED: The
                          VNF instance is instantiated.
                        type: string
                        enum:
                          - NOT_INSTANTIATED
                          - INSTANTIATED
                      instantiatedVnfInfo:
                        description: >
                          Information specific to an instantiated VNF instance.
                          This attribute shall be present if the
                          instantiateState attribute value is INSTANTIATED.
                        type: object
                        required:
                          - flavourId
                          - vnfState
                          - extCpInfo
                        properties:
                          flavourId:
                            description: >
                              Identifier of the VNF Virtual Link Descriptor
                              (VLD) in the VNFD.
                            type: string
                          vnfState:
                            type: string
                            enum:
                              - STARTED
                              - STOPPED
                          scaleStatus:
                            description: >
                              Scale status of the VNF, one entry per aspect.
                              Represents for every scaling aspect how "big" the
                              VNF has been scaled w.r.t. that aspect.
                            type: array
                            items:
                              required:
                                - aspectId
                                - scaleLevel
                              type: object
                              properties:
                                aspectId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleLevel:
                                  description: >
                                    Indicates the scale level. The minimum value
                                    shall be 0 and the maximum value shall be <=
                                    maxScaleLevel as described in the VNFD.
                                  type: integer
                          maxScaleLevels:
                            description: >
                              Maximum allowed scale levels of the VNF, one entry
                              per aspect. This attribute shall be present if the
                              VNF supports scaling.
                            type: array
                            items:
                              required:
                                - aspectId
                                - scaleLevel
                              type: object
                              properties:
                                aspectId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleLevel:
                                  description: >
                                    Indicates the scale level. The minimum value
                                    shall be 0 and the maximum value shall be <=
                                    maxScaleLevel as described in the VNFD.
                                  type: integer
                          extCpInfo:
                            description: >
                              Information about the external CPs exposed by the
                              VNF instance. When trunking is enabled, the list
                              of entries includes both, external CPs
                              corresponding to parent ports of a trunk, and
                              external CPs associated to sub-ports of a trunk.
                            type: array
                            minItems: 1
                            items:
                              description: "This type represents information about an external CP of a VNF. It shall comply  with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n"
                              type: object
                              required:
                                - id
                                - cpdId
                              oneOf:
                                - required:
                                    - associatedVnfcCpId
                                - required:
                                    - associatedVnfVirtualLinkId
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                cpdId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                cpConfigId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                cpProtocolInfo:
                                  description: |
                                    Network protocol information for this CP.
                                  type: array
                                  minItems: 1
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                      - ipOverEthernet
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information. Permitted values:
                                            - IP_OVER_ETHERNET

                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                      ipOverEthernet:
                                        description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                        type: object
                                        anyOf:
                                          - required:
                                              - macAddress
                                          - required:
                                              - ipAddresses
                                        properties:
                                          macAddress:
                                            description: >
                                              A MAC address. Representation: string
                                              that consists of groups of two
                                              hexadecimal digits, separated by hyphens
                                              or colons.
                                            type: string
                                            format: MAC
                                          segmentationId:
                                            description: >
                                              Identification of the network segment to
                                              which the Cp instance connects to. See
                                              note 3 and note 4.
                                            type: string
                                          ipAddresses:
                                            description: >
                                              Addresses assigned to the CP instance.
                                              Each entry represents IP addresses
                                              assigned by fixed or dynamic IP address
                                              assignment per subnet. See note 1.
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - type
                                              oneOf:
                                                - required:
                                                    - addresses
                                                - required:
                                                    - addressRange
                                              properties:
                                                type:
                                                  description: >
                                                    The type of the IP addresses. Permitted
                                                    values: - IPV4 - IPV6
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                addresses:
                                                  description: >
                                                    Fixed addresses assigned (from the
                                                    subnet defined by "subnetId" if
                                                    provided). See note 2.
                                                  type: array
                                                  items:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                isDynamic:
                                                  description: >
                                                    Indicates whether this set of addresses
                                                    was assigned dynamically (true) or based
                                                    on address information provided as input
                                                    from the API consumer (false). Shall be
                                                    present if "addresses" is present and
                                                    shall be absent otherwise.
                                                  type: boolean
                                                addressRange:
                                                  description: >
                                                    An IP address range used, e.g., in case
                                                    of egress connections. Exactly one of
                                                    "addresses" or "addressRange" shall be
                                                    present. See note 2.
                                                  type: object
                                                  required:
                                                    - minAddress
                                                    - maxAddress
                                                  properties:
                                                    minAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                subnetId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                          type:
                                            description: |
                                              The type of the IP addresses
                                            type: string
                                            enum:
                                              - PV4
                                              - PV6
                                          addresses:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          isDynamic:
                                            description: >
                                              Indicates whether this set of addresses
                                              was assigned dynamically (true) or based
                                              on address information provided as input
                                              from the API consumer (false). Shall be
                                              present if "addresses" is present and
                                              shall be absent otherwise.
                                            type: boolean
                                          addressRange:
                                            description: >
                                              An IP address range used, e.g. in case
                                              of egress connections. See note.
                                            type: object
                                            required:
                                              - minAddress
                                              - maxAddress
                                            properties:
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          minAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          maxAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          subnetId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                extLinkPortId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  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
                                associatedVnfcCpId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                associatedVipCpId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                associatedVnfVirtualLinkId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                          vipCpInfo:
                            description: >
                              VIP CPs that are part of the VNF instance. Shall
                              be present when that particular VIP CP of the VNFC
                              instance is associated to an external CP of the
                              VNF instance. May be present otherwise.
                            type: array
                            items:
                              description: >
                                This type provides information related to
                                virtual IP (VIP) CP. It shall comply with the
                                provisions defined in table 6.5.3.97 1. NOTE:  
                                It is possible that there is no associated
                                VnfcCp because the VIP CP is available but not
                                associated yet.
                              type: object
                              required:
                                - cpInstanceId
                                - cpdId
                              properties:
                                cpInstanceId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                cpdId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfExtCpId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                cpProtocolInfo:
                                  description: >
                                    Protocol information for this CP. There
                                    shall be one cpProtocolInfo for layer 3.
                                    There may be one cpProtocolInfo for layer 2.
                                  type: array
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                      - ipOverEthernet
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information. Permitted values:
                                            - IP_OVER_ETHERNET

                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                      ipOverEthernet:
                                        description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                        type: object
                                        anyOf:
                                          - required:
                                              - macAddress
                                          - required:
                                              - ipAddresses
                                        properties:
                                          macAddress:
                                            description: >
                                              A MAC address. Representation: string
                                              that consists of groups of two
                                              hexadecimal digits, separated by hyphens
                                              or colons.
                                            type: string
                                            format: MAC
                                          segmentationId:
                                            description: >
                                              Identification of the network segment to
                                              which the Cp instance connects to. See
                                              note 3 and note 4.
                                            type: string
                                          ipAddresses:
                                            description: >
                                              Addresses assigned to the CP instance.
                                              Each entry represents IP addresses
                                              assigned by fixed or dynamic IP address
                                              assignment per subnet. See note 1.
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - type
                                              oneOf:
                                                - required:
                                                    - addresses
                                                - required:
                                                    - addressRange
                                              properties:
                                                type:
                                                  description: >
                                                    The type of the IP addresses. Permitted
                                                    values: - IPV4 - IPV6
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                addresses:
                                                  description: >
                                                    Fixed addresses assigned (from the
                                                    subnet defined by "subnetId" if
                                                    provided). See note 2.
                                                  type: array
                                                  items:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                isDynamic:
                                                  description: >
                                                    Indicates whether this set of addresses
                                                    was assigned dynamically (true) or based
                                                    on address information provided as input
                                                    from the API consumer (false). Shall be
                                                    present if "addresses" is present and
                                                    shall be absent otherwise.
                                                  type: boolean
                                                addressRange:
                                                  description: >
                                                    An IP address range used, e.g., in case
                                                    of egress connections. Exactly one of
                                                    "addresses" or "addressRange" shall be
                                                    present. See note 2.
                                                  type: object
                                                  required:
                                                    - minAddress
                                                    - maxAddress
                                                  properties:
                                                    minAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                subnetId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                          type:
                                            description: |
                                              The type of the IP addresses
                                            type: string
                                            enum:
                                              - PV4
                                              - PV6
                                          addresses:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          isDynamic:
                                            description: >
                                              Indicates whether this set of addresses
                                              was assigned dynamically (true) or based
                                              on address information provided as input
                                              from the API consumer (false). Shall be
                                              present if "addresses" is present and
                                              shall be absent otherwise.
                                            type: boolean
                                          addressRange:
                                            description: >
                                              An IP address range used, e.g. in case
                                              of egress connections. See note.
                                            type: object
                                            required:
                                              - minAddress
                                              - maxAddress
                                            properties:
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          minAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          maxAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          subnetId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                associatedVnfcCpIds:
                                  description: >
                                    Identifiers of the VnfcCps that share the
                                    virtual IP addresse allocated to the VIP CP
                                    instance. See note.
                                  type: array
                                  items:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                vnfLinkPortId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                metadata:
                                  description: >
                                    Allows the OSS/BSS to provide additional
                                    parameter(s) to the termination process at
                                    the NS level.
                                  type: array
                                  items:
                                    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
                          extVirtualLinkInfo:
                            description: >
                              Information about the external VLs the VNF
                              instance is connected to.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - resourceHandle
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                extLinkPorts:
                                  description: |
                                    Link ports of this VL.
                                  type: array
                                  items:
                                    description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                    type: object
                                    required:
                                      - id
                                      - resourceHandle
                                    properties:
                                      id:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceHandle:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      cpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      secondaryCpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      trunkResourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                currentVnfExtCpData:
                                  description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                  type: object
                                  required:
                                    - cpdId
                                  properties:
                                    cpdId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    cpConfig:
                                      description: >
                                        Map of instance data that need to be
                                        configured on the CP instances  created
                                        from the respective CPD. The key of the
                                        map which identifies  the individual
                                        VnfExtCpConfig entries is of type
                                        "IdentifierInVnf"  and is managed by the
                                        API consumer. The entries shall be
                                        applied by  the VNFM according to the
                                        rules of JSON Merge Patch (see IETF RFC
                                        7396 [11]).  See notes 2, 3 and 4.
                                      type: object
                                      additionalProperties:
                                        description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                        type: object
                                        anyOf:
                                          - required:
                                              - linkPortId
                                          - required:
                                              - cpProtocolData
                                        properties:
                                          parentCpConfigId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          linkPortId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          createExtLinkPort:
                                            description: >
                                              Indicates the need to create a dedicated
                                              link port for the external CP. If set to
                                              True, a link port is created. If set to
                                              False, no link port is created. This
                                              attribute is only applicable for
                                              external CP instances without a floating
                                              IP address that expose a VIP CP instance
                                              for which a dedicated IP address is
                                              allocated. It shall be present in that
                                              case and shall be absent otherwise.
                                            type: boolean
                                          cpProtocolData:
                                            description: >
                                              Parameters for configuring the network
                                              protocols on the link port that connects
                                              the CP to a VL. See note 1.
                                            type: array
                                            items:
                                              description: >
                                                This type represents network protocol
                                                data.
                                              type: object
                                              required:
                                                - layerProtocol
                                              properties:
                                                layerProtocol:
                                                  description: >
                                                    Identifier of layer(s) and protocol(s).
                                                    Permitted values: IP_OVER_ETHERNET.
                                                  type: string
                                                  enum:
                                                    - IP_OVER_ETHERNET
                                                ipOverEthernet:
                                                  description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                  type: object
                                                  anyOf:
                                                    - required:
                                                        - ipAddresses
                                                    - required:
                                                        - macAddress
                                                  properties:
                                                    macAddress:
                                                      description: >
                                                        A MAC address. Representation: string
                                                        that consists of groups of two
                                                        hexadecimal digits, separated by hyphens
                                                        or colons.
                                                      type: string
                                                      format: MAC
                                                    segmentationType:
                                                      description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                      type: string
                                                      enum:
                                                        - VLAN
                                                        - INHERIT
                                                    segmentationId:
                                                      description: >
                                                        Identification of the network segment to
                                                        which the CP instance connects to. See
                                                        note 3 and note 4.
                                                      type: string
                                                    ipAddresses:
                                                      description: >
                                                        List of IP addresses to assign to the CP
                                                        instance. Each entry represents IP
                                                        address data for fixed or dynamic IP
                                                        address assignment per subnet. If this
                                                        attribute is not present, no IP address
                                                        shall be assigned. See note 1.
                                                      type: array
                                                      items:
                                                        type: object
                                                        required:
                                                          - type
                                                        oneOf:
                                                          - required:
                                                              - fixedAddresses
                                                          - required:
                                                              - numDynamicAddresses
                                                          - required:
                                                              - addressRange
                                                        properties:
                                                          type:
                                                            description: >
                                                              The type of the IP addresses. Permitted
                                                              values:
                                                                - IPV4
                                                                - IPV6
                                                            type: string
                                                            enum:
                                                              - IPV4
                                                              - IPV6
                                                          fixedAddresses:
                                                            description: >
                                                              Fixed addresses to assign (from the
                                                              subnet defined by "subnetId" if
                                                              provided). Exactly one of
                                                              "fixedAddresses", "numDynamicAddresses"
                                                              or "ipAddressRange" shall be present.
                                                            type: array
                                                            items:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                          numDynamicAddresses:
                                                            description: >
                                                              Number of dynamic addresses to assign
                                                              (from the subnet defined by "subnetId"
                                                              if provided). See note 2.
                                                            type: integer
                                                          addressRange:
                                                            description: >
                                                              An IP address range to be used, e.g. in
                                                              case of egress connections. In case this
                                                              attribute is present, IP addresses from
                                                              the range will be used.
                                                            type: object
                                                            required:
                                                              - minAddress
                                                              - maxAddress
                                                            properties:
                                                              minAddress:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                              maxAddress:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                          subnetId:
                                                            description: >
                                                              An identifier maintained by the VIM or
                                                              other resource provider. It is expected
                                                              to be unique within the VIM instance.
                                                              Representation: string of variable
                                                              length.
                                                            type: string
                          extManagedVirtualLinkInfo:
                            description: >
                              Information about the externally-managed internal
                              VLs of the VNF instance.  See note 4 and note 5.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - vnfVirtualLinkDescId
                              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
                                vnfVirtualLinkDescId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                networkResource:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                vnfLinkPorts:
                                  description: |
                                    Link ports of this VL.
                                  type: array
                                  items:
                                    type: object
                                    description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                    required:
                                      - id
                                      - resourceHandle
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      resourceHandle:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      cpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpInstanceType:
                                        description: >
                                          Type of the CP instance that is
                                          identified by cpInstanceId. Shall be
                                          present if "cpInstanceId" is present,
                                          and shall be absent otherwise. Permitted
                                          values: * VNFC_CP: The link port is
                                          connected to a VNFC CP * EXT_CP: The
                                          link port is associated to an external
                                          CP. See note 1.
                                        type: string
                                        enum:
                                          - VNFC_CP
                                          - EXT_CP
                                      vipCpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      trunkResourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                extManagedMultisiteVirtualLinkId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          monitoringParameters:
                            description: >
                              Performance metrics tracked by the VNFM (e.g. for 
                              auto-scaling purposes) as identified by the VNF 
                              provider in the VNFD.
                            type: array
                            items:
                              description: >
                                This type represents a monitoring parameter that
                                is tracked by the VNFM, for example,  for
                                auto-scaling purposes. It shall comply with the
                                provisions defined in Table 6.5.3.69-1.
                              type: object
                              required:
                                - id
                                - performanceMetric
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique within a NS
                                    descriptor. Representation: string of
                                    variable length.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                name:
                                  description: >
                                    Human readable name of the monitoring
                                    parameter, as defined in the VNFD.
                                  type: string
                                performanceMetric:
                                  description: >
                                    Performance metric that is monitored. This
                                    attribute shall contain the related 
                                    "Measurement Name" value as defined in
                                    clause 7.2 of ETSI GS NFV-IFA 027.
                                  type: string
                          localizationLanguage:
                            description: >
                              Information about localization language of the VNF
                              (includes e.g. strings in the VNFD). The
                              localization languages supported by a VNF can be
                              declared in the VNFD, and localization language
                              selection can take place at instantiation time.
                              The value shall comply with the format defined in
                              IETF RFC 5646.
                            type: string
                          vnfcResourceInfo:
                            description: >
                              Information about the virtualised compute and
                              storage resources used by the VNFCs of the VNF
                              instance.
                            type: array
                            items:
                              description: "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n"
                              type: object
                              required:
                                - id
                                - vduId
                                - computeResource
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vduId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                computeResource:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                storageResourceIds:
                                  description: >
                                    References to the VirtualStorage resources.
                                    The value refers to a
                                    VirtualStorageResourceInfo item in the
                                    VnfInstance.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                reservationId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfcCpInfo:
                                  description: >
                                    CPs of the VNFC instance. Shall be present
                                    when that particular CP of the VNFC instance
                                    is exposed as an external CP of the VNF
                                    instance or is connected to an external CP
                                    of the VNF instance.See note 2. May be
                                    present otherwise.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - id
                                      - cpdId
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpdId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      vnfExtCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpProtocolInfo:
                                        description: >
                                          Network protocol information for this
                                          CP. May be omitted if the VNFC CP is
                                          exposed as an external CP. See note 3.
                                        type: array
                                        items:
                                          description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                          type: object
                                          required:
                                            - layerProtocol
                                            - ipOverEthernet
                                          properties:
                                            layerProtocol:
                                              description: >
                                                The identifier of layer(s) and
                                                protocol(s) associated to the network
                                                address information. Permitted values:
                                                  - IP_OVER_ETHERNET

                                                See note.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                            ipOverEthernet:
                                              description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - macAddress
                                                - required:
                                                    - ipAddresses
                                              properties:
                                                macAddress:
                                                  description: >
                                                    A MAC address. Representation: string
                                                    that consists of groups of two
                                                    hexadecimal digits, separated by hyphens
                                                    or colons.
                                                  type: string
                                                  format: MAC
                                                segmentationId:
                                                  description: >
                                                    Identification of the network segment to
                                                    which the Cp instance connects to. See
                                                    note 3 and note 4.
                                                  type: string
                                                ipAddresses:
                                                  description: >
                                                    Addresses assigned to the CP instance.
                                                    Each entry represents IP addresses
                                                    assigned by fixed or dynamic IP address
                                                    assignment per subnet. See note 1.
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - type
                                                    oneOf:
                                                      - required:
                                                          - addresses
                                                      - required:
                                                          - addressRange
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values: - IPV4 - IPV6
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      addresses:
                                                        description: >
                                                          Fixed addresses assigned (from the
                                                          subnet defined by "subnetId" if
                                                          provided). See note 2.
                                                        type: array
                                                        items:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                      isDynamic:
                                                        description: >
                                                          Indicates whether this set of addresses
                                                          was assigned dynamically (true) or based
                                                          on address information provided as input
                                                          from the API consumer (false). Shall be
                                                          present if "addresses" is present and
                                                          shall be absent otherwise.
                                                        type: boolean
                                                      addressRange:
                                                        description: >
                                                          An IP address range used, e.g., in case
                                                          of egress connections. Exactly one of
                                                          "addresses" or "addressRange" shall be
                                                          present. See note 2.
                                                        type: object
                                                        required:
                                                          - minAddress
                                                          - maxAddress
                                                        properties:
                                                          minAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          maxAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                      subnetId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                                                type:
                                                  description: |
                                                    The type of the IP addresses
                                                  type: string
                                                  enum:
                                                    - PV4
                                                    - PV6
                                                addresses:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                isDynamic:
                                                  description: >
                                                    Indicates whether this set of addresses
                                                    was assigned dynamically (true) or based
                                                    on address information provided as input
                                                    from the API consumer (false). Shall be
                                                    present if "addresses" is present and
                                                    shall be absent otherwise.
                                                  type: boolean
                                                addressRange:
                                                  description: >
                                                    An IP address range used, e.g. in case
                                                    of egress connections. See note.
                                                  type: object
                                                  required:
                                                    - minAddress
                                                    - maxAddress
                                                  properties:
                                                    minAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                subnetId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                      parentCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      vnfLinkPortId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        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
                                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
                          vnfVirtualLinkResourceInfo:
                            description: >
                              Information about the virtualised network
                              resources used by the VLs of the VNF instance. See
                              note 5.
                            type: array
                            items:
                              description: >
                                This type represents the information that allows
                                addressing a virtualised resource that is used
                                by an internal VL instance in a VNF instance.
                              type: object
                              required:
                                - id
                                - vnfVirtualLinkDescId
                                - networkResource
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfVirtualLinkDescId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                networkResource:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                reservationId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfLinkPorts:
                                  description: >
                                    Links ports of this VL. Shall be present
                                    when the linkPort is used for external
                                    connectivity by the VNF (refer to
                                    VnfLinkPortInfo). May be present otherwise.
                                  type: array
                                  items:
                                    type: object
                                    description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                    required:
                                      - id
                                      - resourceHandle
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      resourceHandle:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      cpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpInstanceType:
                                        description: >
                                          Type of the CP instance that is
                                          identified by cpInstanceId. Shall be
                                          present if "cpInstanceId" is present,
                                          and shall be absent otherwise. Permitted
                                          values: * VNFC_CP: The link port is
                                          connected to a VNFC CP * EXT_CP: The
                                          link port is associated to an external
                                          CP. See note 1.
                                        type: string
                                        enum:
                                          - VNFC_CP
                                          - EXT_CP
                                      vipCpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      trunkResourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        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
                          virtualStorageResourceInfo:
                            description: >
                              Information on the virtualised storage resource(s)
                              used as storage for the VNF instance.
                            type: array
                            items:
                              description: >
                                This type represents the information that allows
                                addressing a virtualised resource that is used
                                by a VNF instance.
                              type: object
                              required:
                                - id
                                - virtualStorageDescId
                                - storageResource
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                virtualStorageDescId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                storageResource:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                reservationId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  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
                      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
                      extensions:
                        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
                pnfInfo:
                  description: |
                    Information on the PNF(s) that are part of the NS instance.
                  type: array
                  items:
                    description: >
                      This type represents the information about a PNF that is
                      part of an NS instance.  It shall comply with the
                      provisions defined in Table 6.5.3.13-1.
                    type: object
                    required:
                      - pnfId
                      - pnfdId
                      - pnfdInfoId
                      - pnfProfileId
                    properties:
                      pnfId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      pnfName:
                        description: |
                          Name of the PNF.
                        type: string
                      pnfdId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      pnfdInfoId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      pnfProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      cpInfo:
                        description: >
                          This type represents the information about the
                          external CP of the PNF.  It shall comply with the
                          provisions defined in Table 6.5.3.17-1.
                        type: object
                        required:
                          - cpInstanceId
                          - cpdId
                        properties:
                          cpInstanceId:
                            description: >
                              An Identifier that is unique within respect to a
                              PNF. Representation: string of variable length.
                            type: string
                          cpdId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          cpProtocolData:
                            description: >
                              Parameters for configuring the network protocols
                              on the CP.
                            type: array
                            items:
                              description: |
                                This type represents network protocol data.
                              type: object
                              required:
                                - layerProtocol
                              properties:
                                layerProtocol:
                                  description: >
                                    Identifier of layer(s) and protocol(s).
                                    Permitted values: IP_OVER_ETHERNET.
                                  type: string
                                  enum:
                                    - IP_OVER_ETHERNET
                                ipOverEthernet:
                                  description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                  type: object
                                  anyOf:
                                    - required:
                                        - ipAddresses
                                    - required:
                                        - macAddress
                                  properties:
                                    macAddress:
                                      description: >
                                        A MAC address. Representation: string
                                        that consists of groups of two
                                        hexadecimal digits, separated by hyphens
                                        or colons.
                                      type: string
                                      format: MAC
                                    segmentationType:
                                      description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                      type: string
                                      enum:
                                        - VLAN
                                        - INHERIT
                                    segmentationId:
                                      description: >
                                        Identification of the network segment to
                                        which the CP instance connects to. See
                                        note 3 and note 4.
                                      type: string
                                    ipAddresses:
                                      description: >
                                        List of IP addresses to assign to the CP
                                        instance. Each entry represents IP
                                        address data for fixed or dynamic IP
                                        address assignment per subnet. If this
                                        attribute is not present, no IP address
                                        shall be assigned. See note 1.
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - type
                                        oneOf:
                                          - required:
                                              - fixedAddresses
                                          - required:
                                              - numDynamicAddresses
                                          - required:
                                              - addressRange
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values:
                                                - IPV4
                                                - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          fixedAddresses:
                                            description: >
                                              Fixed addresses to assign (from the
                                              subnet defined by "subnetId" if
                                              provided). Exactly one of
                                              "fixedAddresses", "numDynamicAddresses"
                                              or "ipAddressRange" shall be present.
                                            type: array
                                            items:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                          numDynamicAddresses:
                                            description: >
                                              Number of dynamic addresses to assign
                                              (from the subnet defined by "subnetId"
                                              if provided). See note 2.
                                            type: integer
                                          addressRange:
                                            description: >
                                              An IP address range to be used, e.g. in
                                              case of egress connections. In case this
                                              attribute is present, IP addresses from
                                              the range will be used.
                                            type: object
                                            required:
                                              - minAddress
                                              - maxAddress
                                            properties:
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          subnetId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                virtualLinkInfo:
                  description: >
                    Information on the VL(s) of the NS instance. This attribute
                    shall be present if the nsState attribute value is
                    INSTANTIATED and if the NS instance has specified
                    connectivity.
                  type: array
                  items:
                    description: "This type specifies the information about an NS VL instance.  It shall comply with the provisions defined in Table 6.5.3.53-1.\nNOTE:\tAs an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink shall be the same as the corresponding NsVirtualLink.\n"
                    type: object
                    required:
                      - id
                      - nsVirtualLinkDescId
                      - nsVirtualLinkProfileId
                    properties:
                      id:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                      nsVirtualLinkDescId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      nsVirtualLinkProfileId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      resourceHandle:
                        description: >
                          Identifier(s) of the virtualised network resource(s)
                          and/or multi-site connectivity service(s) realizing
                          the VL instance. See note.
                        type: array
                        items:
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance or by an NS instance. Information about
                            the resource is available from the VIM. NOTE: The
                            value set of the "vimLevelResourceType" attribute is
                            within the scope of the VIM, the WIM or the resource
                            provider and can be used as information that
                            complements the ResourceHandle.
                          type: object
                          required:
                            - resourceId
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceProviderId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceId:
                              description: >
                                An identifier maintained by the VIM or other
                                resource provider. It is expected to be unique
                                within the VIM instance. Representation: string
                                of variable length.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM,
                                the WIM or the resource provider. The value set
                                of the "vimLevelResourceType" attribute is
                                within the scope of the VIM, the WIM or the
                                resource provider and can be used as information
                                that complements the ResourceHandle. See note.
                              type: string
                      linkPort:
                        description: >
                          Link ports of the VL instance. Cardinality of zero
                          indicates that no port has yet been created for the VL
                          instance.
                        type: array
                        items:
                          description: "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1. NOTE:\tWhen the NsVirtualLink, from which the present NsLinkPort is part of, is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtLinkPort shall be the same as the corresponding NsLinkPort.\n"
                          type: object
                          required:
                            - id
                            - resourceHandle
                          properties:
                            id:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceHandle:
                              description: >
                                This type represents the information that allows
                                addressing a virtualised resource that is used
                                by a VNF instance or by an NS instance.
                                Information about the resource is available from
                                the VIM. NOTE: The value set of the
                                "vimLevelResourceType" attribute is within the
                                scope of the VIM, the WIM or the resource
                                provider and can be used as information that
                                complements the ResourceHandle.
                              type: object
                              required:
                                - resourceId
                              properties:
                                vimId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceProviderId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceId:
                                  description: >
                                    An identifier maintained by the VIM or other
                                    resource provider. It is expected to be
                                    unique within the VIM instance.
                                    Representation: string of variable length.
                                  type: string
                                vimLevelResourceType:
                                  description: >
                                    Type of the resource in the scope of the
                                    VIM, the WIM or the resource provider. The
                                    value set of the "vimLevelResourceType"
                                    attribute is within the scope of the VIM,
                                    the WIM or the resource provider and can be
                                    used as information that complements the
                                    ResourceHandle. See note.
                                  type: string
                            nsCpHandle:
                              description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                              type: object
                              oneOf:
                                - required:
                                    - vnfInstanceId
                                    - vnfExtCpInstanceId
                                - required:
                                    - pnfInfoId
                                    - pnfExtCpInstanceId
                                - required:
                                    - nsInstanceId
                                    - nsSapInstanceId
                              properties:
                                vnfInstanceId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfExtCpInstanceId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                pnfInfoId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                pnfExtCpInstanceId:
                                  description: >
                                    An Identifier that is unique within respect
                                    to a PNF. Representation: string of variable
                                    length.
                                  type: string
                                nsInstanceId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                nsSapInstanceId:
                                  description: >
                                    An identifier that is unique with respect to
                                    a NS. Representation: string of variable
                                    length.
                                  type: string
                vnffgInfo:
                  description: |
                    Information on the VNFFG(s) of the NS instance.
                  type: array
                  items:
                    description: "Information on the VNFFG(s) of the NS instance. NOTE:\tIt indicates an exhaustive list of all the CP instances and SAP instances of the VNFFG.\n"
                    type: object
                    required:
                      - id
                      - vnffgdId
                      - vnfInstanceId
                      - pnfInfoId
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnffgdId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      vnfInstanceId:
                        description: >
                          Identifier(s) of the constituent VNF instance(s) of
                          this VNFFG instance.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      pnfdInfoId:
                        description: >
                          Identifier(s) of the constituent PNF instance(s) of
                          this VNFFG instance.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      nsVirtualLinkInfoId:
                        description: >
                          Identifier(s) of the constituent VL instance(s) of
                          this VNFFG instance.
                        type: array
                        items:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                      nsCpHandle:
                        description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                        type: object
                        oneOf:
                          - required:
                              - vnfInstanceId
                              - vnfExtCpInstanceId
                          - required:
                              - pnfInfoId
                              - pnfExtCpInstanceId
                          - required:
                              - nsInstanceId
                              - nsSapInstanceId
                        properties:
                          vnfInstanceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfExtCpInstanceId:
                            description: >
                              An identifier that is unique for the respective
                              type within a VNF instance, but may not be
                              globally unique.
                            type: string
                          pnfInfoId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          pnfExtCpInstanceId:
                            description: >
                              An Identifier that is unique within respect to a
                              PNF. Representation: string of variable length.
                            type: string
                          nsInstanceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          nsSapInstanceId:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                sapInfo:
                  description: |
                    Information on the SAP(s) of the NS instance.
                  type: array
                  items:
                    description: >
                      This type represents an SAP instance. It shall comply with
                      the provisions defined in Table 6.5.3.67-1.
                    type: object
                    required:
                      - id
                      - sapdId
                      - sapName
                      - sapProtocolInfo
                    properties:
                      id:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                      sapdId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      sapName:
                        description: |
                          Human readable name for the SAP instance.
                        type: string
                      description:
                        description: |
                          Human readable description for the SAP instance.
                        type: string
                      sapProtocolInfo:
                        description: |
                          Network protocol information for this SAP.
                        type: array
                        items:
                          description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                          type: object
                          required:
                            - layerProtocol
                            - ipOverEthernet
                          properties:
                            layerProtocol:
                              description: >
                                The identifier of layer(s) and protocol(s)
                                associated to the network address information.
                                Permitted values:
                                  - IP_OVER_ETHERNET

                                See note.
                              type: string
                              enum:
                                - IP_OVER_ETHERNET
                            ipOverEthernet:
                              description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                              type: object
                              anyOf:
                                - required:
                                    - macAddress
                                - required:
                                    - ipAddresses
                              properties:
                                macAddress:
                                  description: >
                                    A MAC address. Representation: string that
                                    consists of groups of two hexadecimal
                                    digits, separated by hyphens or colons.
                                  type: string
                                  format: MAC
                                segmentationId:
                                  description: >
                                    Identification of the network segment to
                                    which the Cp instance connects to. See note
                                    3 and note 4.
                                  type: string
                                ipAddresses:
                                  description: >
                                    Addresses assigned to the CP instance. Each
                                    entry represents IP addresses assigned by
                                    fixed or dynamic IP address assignment per
                                    subnet. See note 1.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - type
                                    oneOf:
                                      - required:
                                          - addresses
                                      - required:
                                          - addressRange
                                    properties:
                                      type:
                                        description: >
                                          The type of the IP addresses. Permitted
                                          values: - IPV4 - IPV6
                                        type: string
                                        enum:
                                          - IPV4
                                          - IPV6
                                      addresses:
                                        description: >
                                          Fixed addresses assigned (from the
                                          subnet defined by "subnetId" if
                                          provided). See note 2.
                                        type: array
                                        items:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                      isDynamic:
                                        description: >
                                          Indicates whether this set of addresses
                                          was assigned dynamically (true) or based
                                          on address information provided as input
                                          from the API consumer (false). Shall be
                                          present if "addresses" is present and
                                          shall be absent otherwise.
                                        type: boolean
                                      addressRange:
                                        description: >
                                          An IP address range used, e.g., in case
                                          of egress connections. Exactly one of
                                          "addresses" or "addressRange" shall be
                                          present. See note 2.
                                        type: object
                                        required:
                                          - minAddress
                                          - maxAddress
                                        properties:
                                          minAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          maxAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                      subnetId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                type:
                                  description: |
                                    The type of the IP addresses
                                  type: string
                                  enum:
                                    - PV4
                                    - PV6
                                addresses:
                                  description: >
                                    An IPV4 or IPV6 address. Representation: In
                                    case of an IPV4 address, string that
                                    consists of four decimal integers separated
                                    by dots, each integer ranging from 0 to 255.
                                    In case of an IPV6 address, string that
                                    consists of groups of zero to four
                                    hexadecimal digits, separated by colons.
                                  type: string
                                  format: IP
                                isDynamic:
                                  description: >
                                    Indicates whether this set of addresses was
                                    assigned dynamically (true) or based on
                                    address information provided as input from
                                    the API consumer (false). Shall be present
                                    if "addresses" is present and shall be
                                    absent otherwise.
                                  type: boolean
                                addressRange:
                                  description: >
                                    An IP address range used, e.g. in case of
                                    egress connections. See note.
                                  type: object
                                  required:
                                    - minAddress
                                    - maxAddress
                                  properties:
                                    minAddress:
                                      description: >
                                        An IPV4 or IPV6 address. Representation:
                                        In case of an IPV4 address, string that
                                        consists of four decimal integers
                                        separated by dots, each integer ranging
                                        from 0 to 255. In case of an IPV6
                                        address, string that consists of groups
                                        of zero to four hexadecimal digits,
                                        separated by colons.
                                      type: string
                                      format: IP
                                    maxAddress:
                                      description: >
                                        An IPV4 or IPV6 address. Representation:
                                        In case of an IPV4 address, string that
                                        consists of four decimal integers
                                        separated by dots, each integer ranging
                                        from 0 to 255. In case of an IPV6
                                        address, string that consists of groups
                                        of zero to four hexadecimal digits,
                                        separated by colons.
                                      type: string
                                      format: IP
                                minAddress:
                                  description: >
                                    An IPV4 or IPV6 address. Representation: In
                                    case of an IPV4 address, string that
                                    consists of four decimal integers separated
                                    by dots, each integer ranging from 0 to 255.
                                    In case of an IPV6 address, string that
                                    consists of groups of zero to four
                                    hexadecimal digits, separated by colons.
                                  type: string
                                  format: IP
                                maxAddress:
                                  description: >
                                    An IPV4 or IPV6 address. Representation: In
                                    case of an IPV4 address, string that
                                    consists of four decimal integers separated
                                    by dots, each integer ranging from 0 to 255.
                                    In case of an IPV6 address, string that
                                    consists of groups of zero to four
                                    hexadecimal digits, separated by colons.
                                  type: string
                                  format: IP
                                subnetId:
                                  description: >
                                    An identifier maintained by the VIM or other
                                    resource provider. It is expected to be
                                    unique within the VIM instance.
                                    Representation: string of variable length.
                                  type: string
                nestedNsInstanceId:
                  description: |
                    Identifier of the nested NS(s) of the NS instance. See note.
                  type: array
                  items:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                vnfSnapshotInfoIds:
                  description: >
                    Identifier of information on VNF snapshots of VNF instances
                    that are part of this NS instance.
                  type: array
                  items:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                nsState:
                  description: >
                    The state of the NS instance. Permitted values:
                    NOT_INSTANTIATED: The NS instance is terminated or not
                    instantiated. INSTANTIATED: The NS instance is instantiated.
                  type: string
                  enum:
                    - NOT_INSTANTIATED
                    - INSTANTIATED
                monitoringParameter:
                  description: >
                    Performance metrics tracked by the NFVO (e.g. for
                    auto-scaling purposes) as identified by the NS designer in
                    the NSD.
                  type: array
                  items:
                    description: >
                      This type represents a monitoring parameter that is
                      tracked by the NFVO, for example,  for auto-scaling
                      purposes. It shall comply with the provisions defined in
                      Table 6.5.3.68-1.
                    type: object
                    required:
                      - id
                      - performanceMetric
                    properties:
                      id:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      name:
                        description: >
                          Human readable name of the monitoring parameter, as
                          defined in the NSD.
                        type: string
                      performanceMetric:
                        description: >
                          Performance metric that is monitored. This attribute
                          shall contain the related  "Measurement Name" value as
                          defined in clause 7.2 of ETSI GS NFV-IFA 027.
                        type: string
                nsScaleStatus:
                  description: >
                    Status of each NS scaling aspect declared in the applicable
                    DF, how "big" the NS instance has been scaled w.r.t. that
                    aspect. This attribute shall be present if the nsState
                    attribute value is INSTANTIATED.
                  type: array
                  items:
                    description: >
                      This type represents the target NS Scale level for each NS
                      scaling aspect of the current deployment flavor.
                    type: object
                    required:
                      - nsScalingAspectId
                      - nsScaleLevelId
                    properties:
                      nsScalingAspectId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                      nsScaleLevelId:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                additionalAffinityOrAntiAffinityRule:
                  description: >
                    Information on the additional affinity or anti-affinity rule
                    from NS instantiation operation. Shall not conflict with
                    rules already specified in the NSD.
                  type: array
                  items:
                    description: >
                      This type describes the additional affinity or
                      anti-affinity rule applicable between the VNF instances to
                      be instantiated in the NS instantiation operation request
                      or between the VNF instances to be instantiated in the NS
                      instantiation operation request and the existing VNF
                      instances..
                    type: object
                    required:
                      - affinityOrAntiAffiinty
                      - scope
                    properties:
                      vnfdId:
                        description: >
                          Reference to a VNFD. When the VNFD which is not used
                          to instantiate VNF, it presents all VNF instances of
                          this type as the subjects of the affinity or
                          anti-affinity rule. The VNF instance which the VNFD
                          presents is not necessary as a part of the NS to be
                          instantiated.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      vnfProfileId:
                        description: >
                          Reference to a vnfProfile defined in the NSD. At least
                          one VnfProfile which is used to instantiate VNF for
                          the NS to be instantiated as the subject of the
                          affinity or anti-affinity rule shall be present. When
                          the VnfProfile which is not used to instantiate VNF,
                          it presents all VNF instances of this type as the
                          subjects of the affinity or anti-affinity rule. The
                          VNF instance which the VnfProfile presents is not
                          necessary as a part of the NS to be instantiated.
                        type: array
                        items:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                      vnfInstanceId:
                        description: >
                          Reference to the existing VNF instance as the subject
                          of the affinity or anti-affinity rule. The existing
                          VNF instance is not necessary as a part of the NS to
                          be instantiated.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      affinityOrAntiAffiinty:
                        description: >
                          The type of the constraint. Permitted values: AFFINITY
                          ANTI_AFFINITY.
                        type: string
                        enum:
                          - AFFINITY
                          - ANTI_AFFINITY
                      scope:
                        description: >
                          Specifies the scope of the rule where the placement
                          constraint applies. Permitted values: NFVI_POP ZONE
                          ZONE_GROUP NFVI_NODE.
                        type: string
                        enum:
                          - NFVI_POP
                          - ZONE
                          - ZONE_GROUP
                          - NFVI_NODE
                wanConnectionInfo:
                  description: >
                    Information about WAN related connectivity enabling
                    multi-site VLs.
                  type: array
                  items:
                    description: "This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,\nwhen the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.\nNOTE:\tEither a \"nsVirtualLinkInfoId\" or a \"vnfVirtualLinkResourceInfoId\" shall be provided, but not both.\n"
                    type: object
                    required:
                      - wanConnectionInfoId
                    oneOf:
                      - required:
                          - nsVirtualLinkInfoId
                      - required:
                          - vnfVirtualLinkResourceInfoId
                    properties:
                      wanConnectionInfoId:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                      nsVirtualLinkInfoId:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                      vnfVirtualLinkResourceInfoId:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                      protocolInfo:
                        description: >
                          This type provides protocol specific information about
                          the connectivity to the WAN of network resources
                          realizing

                          a VL, e.g., when the VL is deployed on several sites
                          and across a WAN, and the related multi-site
                          connectivity

                          service (MSCS) enabling the connectivity through the
                          WAN. This type supports providing information about
                          both

                          pre-provisioned WAN connectivity realized by external
                          entities to NFV-MANO but parts of such connectivity is
                          known

                          to the NFVO, as well as information about MSCS created
                          under NFV-MANO responsibility (i.e., connectivity is
                          realized

                          when NFVO communicates with the WIM).  It shall comply
                          with the provisions defined in table 6.5.3.91-1.
                        type: object
                        properties:
                          mscsInfo:
                            description: >
                              This type provides information about an already
                              provisioned multi-site connectivity service (MSCS)
                              deployed across a WAN. It shall comply with the
                              provisions defined in Table 6.5.3.82-1.
                            type: object
                            required:
                              - mscsId
                              - mscsType
                            properties:
                              mscsId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              mscsName:
                                description: |
                                  Human readable name of the MSCS.
                                type: string
                              mscsDescription:
                                description: |
                                  Human readable description of the MSCS.
                                type: string
                              mscsType:
                                description: "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n"
                                type: string
                                enum:
                                  - L2VPN
                                  - L3VPN
                              mscsLayerProtocol:
                                description: "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n"
                                type: string
                                enum:
                                  - EVPN_BGP_MPLS
                                  - EVPN_VPWS
                                  - VPLS_BGP
                                  - VPLS_LDP
                                  - VPWS
                                  - BGP_IP_VPN
                              siteAccessProtectionSchemes:
                                description: >
                                  Information to determine the proper MSCS
                                  endpoints configuration to fulfil certain
                                  resiliency/protection requirements, e.g., by
                                  considering certain availability and
                                  redundancy of connectivity service endpoints
                                  in between NFVI-PoP and WAN.
                                type: array
                                items:
                                  type: object
                                  properties:
                                    locationConstraints:
                                      description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                                      type: object
                                      properties:
                                        countryCode:
                                          description: >
                                            The two-letter ISO 3166 country code in
                                            capital letters. Shall be present in
                                            case the "area" attribute is absent. May
                                            be absent if the "area" attribute is
                                            present (see note).
                                          type: string
                                        civicAddressElement:
                                          description: >
                                            Zero or more elements comprising the
                                            civic address. Shall be absent if the
                                            "area" attribute is present.
                                          type: array
                                          items:
                                            type: object
                                            required:
                                              - caType
                                              - caValue
                                            properties:
                                              caType:
                                                description: >
                                                  Describe the content type of caValue.
                                                  The value of caType shall comply with
                                                  Section 3.4 of IETF RFC 4776 [13].
                                                type: integer
                                              caValue:
                                                description: >
                                                  Content of civic address element
                                                  corresponding to the caType. The format
                                                  caValue shall comply with Section 3.4 of
                                                  IETF RFC 4776 [13].
                                                type: string
                                        area:
                                          description: >
                                            Geographic area. Shall be absent if the
                                            "civicAddressElement" attribute is
                                            present. The content of this attribute
                                            shall follow the provisions for the
                                            "Polygon" geometry object as defined in
                                            IETF RFC 7946, for which the "type"
                                            member shall be set to the value
                                            "Polygon". See note.
                                          type: object
                                    protectionScheme:
                                      description: "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n"
                                      type: string
                                      enum:
                                        - UNPROTECTED
                                        - ONE_TO_ONE
                                        - ONE_PLUS_ONE
                                        - ONE_TO_N
                              mtuMscs:
                                description: >
                                  Maximum Transmission Unit (MTU) that can be
                                  forwarded over the MSCS (in bytes). Default
                                  value is "1500" (bytes).
                                type: number
                              mscsEndpoints:
                                description: >
                                  Information about the MSCS endpoints of the
                                  MSCS.
                                type: array
                                items:
                                  description: >
                                    This type provides encapsulates information
                                    about an MSCS endpoint of the MSCS. It shall
                                    comply with the provisions defined in table
                                    6.5.3.83-1.
                                  type: object
                                  required:
                                    - mscsEndpointId
                                    - directionality
                                    - connectivityServiceEndpoinId
                                  properties:
                                    mscsEndpointId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    directionality:
                                      description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                      type: string
                                      enum:
                                        - INBOUND
                                        - OUTBOUND
                                        - BOTH
                                    connectivityServiceEndpoinId:
                                      description: >
                                        References the connectivity service
                                        endpoint configuration information
                                        applicable to support the MSCS endpoint.
                                        More than one connectivity service
                                        endpoint can be referred when endpoints
                                        are in LAG mode.
                                      type: array
                                      items:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                          connectivityServiceEndpoints:
                            description: >
                              Configuration information about the network
                              resources in the NFVI-PoP and their connectivity
                              to the WAN.
                            type: array
                            items:
                              description: >
                                This type provides configuration data for the
                                NFVI-PoP network gateway providing connectivity
                                service endpoints. The connectivity service
                                endpoints are used as endpoints by an MSCS. It
                                shall comply with the provisions defined in
                                Table 6.5.3.84-1.
                              type: object
                              required:
                                - connectivityServiceEndpointId
                                - vimId
                              properties:
                                connectivityServiceEndpointId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vimId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                siteToWanLayer2ProtocolData:
                                  description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                  type: object
                                  required:
                                    - layer2ConnectionInfo
                                  properties:
                                    layer2ConnectionInfo:
                                      description: >
                                        Layer 2 protocol parameters of the
                                        connectivity service endpoint (CSE).
                                      type: object
                                      required:
                                        - connectionType
                                        - interfaceType
                                        - interfaceTagging
                                        - encapsulationType
                                      properties:
                                        connectionType:
                                          description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                          type: string
                                          enum:
                                            - CSE
                                            - AGGREGATE_CSE
                                        interfaceType:
                                          description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                          type: string
                                          enum:
                                            - PARENT
                                            - LOGICAL
                                        interfaceTagging:
                                          description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                          type: string
                                          enum:
                                            - UNTAGGED
                                            - TAGGED
                                        encapsulationType:
                                          description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                          type: string
                                          enum:
                                            - ETH
                                            - VLAN
                                            - VXLAN
                                        vlanTaggingType:
                                          description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                          type: string
                                          enum:
                                            - DOT1Q
                                            - QINQ
                                            - QINANY
                                        wanSegmentIds:
                                          description: >
                                            Segment identifiers to pass on the
                                            tagged interface. Shall be present if
                                            encapsulationType="VLAN" or “VXLAN".
                                          type: object
                                          required:
                                            - wanSegmentIdValue
                                          properties:
                                            wanSegmentIdValue:
                                              description: >
                                                Identifier of the network segment (e.g.,
                                                VLAN id or VNI).
                                              type: string
                                            wanSegmentIdUpperRange:
                                              description: >
                                                Identifier of the upper range network
                                                segment, in case the "wanSegmentIds" is
                                                used to define a range.
                                              type: string
                                        vxlanConfig:
                                          description: >
                                            Additional configuration needed when
                                            using VXLAN encapsulation. Shall be
                                            present if interfaceTagging="TAGGED" and
                                            encapsulationType="VXLAN".
                                          type: object
                                          required:
                                            - peerMode
                                          properties:
                                            peerMode:
                                              description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                              type: string
                                              enum:
                                                - STATIC
                                                - BGP_EVPN
                                            peers:
                                              description: >
                                                List of IP addresses of VTEP peers when
                                                using static mode.
                                              type: array
                                              items:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                        lagInterfaceData:
                                          description: >
                                            Information for setting up a LAG
                                            interface aggregating multiple
                                            connectivity service endpoints.
                                          type: object
                                          required:
                                            - aggregatedEndpoints
                                            - lacpActivation
                                            - lacpConfig
                                          properties:
                                            aggregatedEndpoints:
                                              description: >
                                                List of the connectivity service
                                                endpoints that are to be aggregated.
                                                Shall be present if
                                                connectionType="AGGREGATE_CSE". In case
                                                of aggregating connectivity service
                                                endpoints, only one
                                                SiteToWanLayer2ProtocolData shall be
                                                provided for the whole set of aggregated
                                                endpoints.
                                              type: array
                                              items:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                            lacpActivation:
                                              description: >
                                                Indicates whether to activate LACP on
                                                the interface. If "TRUE", the LACP is to
                                                be activated, or "FALSE" otherwise.
                                                Default value is "FALSE".
                                              type: boolean
                                            lacpConfig:
                                              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
                                        layer2ControlProtocol:
                                          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
                                    mtuL2:
                                      description: >
                                        Maximum Transmission Unit (MTU) that can
                                        be forwarded at layer 2 (in bytes).
                                        Default value is "1500" (bytes).
                                      type: number
                                    virtualRoutingAndForwarding:
                                      description: >
                                        Configuration related to the L2 virtual
                                        routing and forwarding (MAC-VRF).
                                      type: object
                                      required:
                                        - macVrfName
                                      properties:
                                        macVrfName:
                                          description: >
                                            Name (or identifier) of the MAC-VRF
                                            instance.
                                          type: string
                                    forwardingConfig:
                                      description: >
                                        Information related to the forwarding of
                                        the VN in the NFVI-PoP to the
                                        connectivity service endpoint, if
                                        information about the VN to "stitch" is
                                        already known. . by the OSS/BSS. Shall
                                        not be provided otherwise, in which case
                                        the NFVO will infer the forwarding
                                        configuration based on the NS VL, or
                                        external VL, or externally-managed VL
                                        provisioning.
                                      type: object
                                      oneOf:
                                        - required:
                                            - networkResources
                                        - required:
                                            - vnSegmentIds
                                      properties:
                                        networkResources:
                                          description: >
                                            Reference to the VN resource to be
                                            forwarded into/from the MSCS. See note.
                                          type: array
                                          items:
                                            description: >
                                              This type represents the information
                                              that allows addressing a virtualised
                                              resource that is used by a VNF instance
                                              or by an NS instance. Information about
                                              the resource is available from the VIM.
                                              NOTE: The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle.
                                            type: object
                                            required:
                                              - resourceId
                                            properties:
                                              vimId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceProviderId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                              vimLevelResourceType:
                                                description: >
                                                  Type of the resource in the scope of the
                                                  VIM, the WIM or the resource provider.
                                                  The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle. See note.
                                                type: string
                                        vnSegmentIds:
                                          description: >
                                            Identifiers of the network segments of
                                            the VN resources to be forwarded
                                            into/from the MSCS.
                                          type: object
                                          required:
                                            - vnSegmentIdValue
                                          properties:
                                            vnSegmentIdValue:
                                              description: |
                                                Identifier of the network segment.
                                              type: string
                                            vnSegmentIdUpperRange:
                                              description: >
                                                Identifier of the upper range network
                                                segment, in case the "vnSegmentIds" is
                                                used to define a range.
                                              type: string
                                siteToWanLayer3ProtocolData:
                                  description: >
                                    This type provides information about Layer 3
                                    protocol specific information for the
                                    stitching of the intra-site VN to the
                                    multi-site connectivity service over the
                                    WAN. It shall comply with the provisions
                                    defined in Table 6.5.3.86-1.
                                  type: object
                                  required:
                                    - routingInfo
                                  properties:
                                    logicalInterfaceIpAddress:
                                      description: >
                                        IP addressing information associated to
                                        a logical interface. Shall be present if
                                        the "interfaceType" of the
                                        SiteToWanLayer2ProtocolData is equal to
                                        "LOGICAL".
                                      type: object
                                      required:
                                        - ipAddress
                                        - associatedSegmentId
                                      properties:
                                        ipAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        associatedSegmentId:
                                          description: >
                                            The associated segment identifier that
                                            has triggered the creation of the
                                            logical interface. The value shall be
                                            one of the values listed in the
                                            "wanSegmentIds" of the
                                            "siteToWanLayer2ProtocolData".
                                          type: string
                                    routingInfo:
                                      description: >
                                        The routing information that is
                                        activated on the connectivity service
                                        endpoint. More than one "routingInfo" is
                                        allowed to enable stacking different
                                        routing protocols (e.g., one routing
                                        protocol for IPv4 and another one for
                                        IPv6).
                                      type: object
                                      required:
                                        - routingProtocol
                                        - routingAddressFamily
                                      properties:
                                        routingProtocol:
                                          description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                          type: string
                                          enum:
                                            - BGP
                                            - RIP
                                            - OSPF
                                            - STATIC
                                            - DIRECT
                                            - VRRP
                                        staticRouting:
                                          description: >
                                            Defines a static route. It shall only be
                                            present if the routingProtocol="STATIC".
                                          type: object
                                          required:
                                            - ipVersion
                                            - ipPrefix
                                            - prefixSize
                                            - nextHop
                                          properties:
                                            ipVersion:
                                              description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            ipPrefix:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            prefixSize:
                                              description: |
                                                The IP prefix size.
                                              type: number
                                            nextHop:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                        routingAddressFamily:
                                          description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                          type: string
                                          enum:
                                            - IPV4
                                            - IPv6
                                        ospfRouting:
                                          description: >
                                            Defines parameters for OSPF routing. It
                                            shall only be present if the
                                            routingProtocol="OSPF".
                                          type: object
                                          required:
                                            - areaId
                                          properties:
                                            areaId:
                                              description: >
                                                The routing area identifier, e.g., a
                                                number or an IP address.
                                              type: string
                                        bgpRouting:
                                          description: >
                                            Defines parameters for BGP routing. It
                                            shall only be present if the
                                            routingProtocol="BGP".
                                          type: object
                                          required:
                                            - bgpAs
                                          properties:
                                            bgpAs:
                                              description: >
                                                The Autonomous System (AS)
                                                identification applicable to the BGP
                                                routing info entry.
                                              type: object
                                            bgpNeighbour:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            bgpAdditionalParam:
                                              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
                                        routeMapsDistribution:
                                          description: >
                                            Maps of routes that are permitted or
                                            denied for redistribution.
                                          type: object
                                          required:
                                            - policy
                                            - sequence
                                            - matchAndSetRule
                                          properties:
                                            policy:
                                              description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                              type: string
                                              enum:
                                                - PERMIT
                                                - DENY
                                            sequence:
                                              description: >
                                                Sequence or index number assigned to the
                                                route-map.
                                              type: number
                                            matchAndSetRule:
                                              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
                                    mtuL3:
                                      description: >
                                        Maximum Transmission Unit (MTU) that can
                                        be forwarded at layer 3 (in bytes).
                                        Default value is "1500" (bytes).
                                      type: number
                                    virtualRoutingAndForwarding:
                                      description: >
                                        Configuration related to the virtual
                                        routing and forwarding (VRF).
                                      type: object
                                      required:
                                        - vrfName
                                      properties:
                                        vrfName:
                                          description: >
                                            Name (or identifier) of the VRF
                                            instance.
                                          type: string
                                    bfdConfig:
                                      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
                _links:
                  type: object
                  description: Links to resources related to this resource.
                  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
                    nestedNsInstances:
                      description: |
                        Links to resources related to this notification.
                      type: array
                      items:
                        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
                    vnfSnapshotInfos:
                      description: >
                        Links to the VNF snapshots associated to VNF instances
                        which are part of this NS instance.
                      type: array
                      items:
                        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
                    instantiate:
                      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
                    terminate:
                      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
                    update:
                      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
                    scale:
                      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
                    heal:
                      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
    NsInstances.Post.201:
      description: >
        201 Created

        Shall be returned when a new "Individual NS instance" resource and the
        associated NS instance identifier has

        been created successfully. The response body shall contain a
        representation of the created NS instance, as

        defined in clause 6.5.2.10. The HTTP response shall include a "Location"
        HTTP header that contains the resource

        URI of the created NS instance.
      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:
            description: "This type represents a response for Query NS operation.  It shall comply with the provisions defined in Table 6.5.2.10-1.\nNOTE 1:\tIf the \"nsState\" attribute is INSTANTIATED, at least either one\n          \"vnfInstance\" attribute or one \"nestedNsInstanceId\" attribute shall be present.\nNOTE 2:\tThe “priority” attribute of the NS instance is configured in the NSD in the NsDf structure.\n          The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility.\n          The \"zero\" value expresses the highest priority and the fact that the NS instance based on this DF cannot be\n          pre-empted during resource allocation.\nNOTE 3:\tExamples for the usage of priority include conflict resolution in case of resource shortage\n"
            type: object
            required:
              - id
              - nsInstanceName
              - nsInstanceDescription
              - nsdId
              - nsdInfoId
              - nsState
              - _links
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              nsInstanceName:
                description: |
                  Human readable name of the NS instance.
                type: string
              nsInstanceDescription:
                description: |
                  Human readable description of the NS instance.
                type: string
              nsdId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              nsdInfoId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              flavourId:
                description: >
                  An identifier that is unique within a NS descriptor.
                  Representation: string of variable length.
                type: string
              priority:
                description: |
                  A number as defined in IETF RFC 8259.
                type: number
              vnfInstance:
                description: >
                  Information on constituent VNF(s) of the NS instance. See note
                  1.
                type: array
                items:
                  description: >
                    This type represents a VNF instance. It shall comply with
                    the provisions defined in table 6.5.3.57-1.

                    NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides examples
                    illustrating the relationship among the 
                          different run-time information elements (CP, VL and link ports) used to represent the connectivity 
                          of a VNF.

                    NOTE 1: Modifying the value of this attribute shall not be
                    performed when conflicts exist between the 
                            previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to 
                            the previous VNFD in other aspects than merely referencing to other VNF software images. 
                            In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, 
                            the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall 
                            be kept in sync with the values in the VNFD.
                    NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and
                    format of the VNFD based on TOSCA specifications. NOTE 3:
                    VNF configurable properties are sometimes also referred to
                    as configuration parameters applicable 
                            to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, 
                            some are set prior to instantiation (are part of initial configuration) and can be modified later, 
                            and others can be set only after instantiation. The applicability of certain configuration may depend 
                            on the VNF and the required operation of the VNF at a certain point in time.
                    NOTE 4: It is possible to have several
                    ExtManagedVirtualLinkInfo for the same VNF internal VL in
                    case of a 
                            multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same 
                            VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed 
                            multi-site VL instance (refer to clause 6.5.3.59).
                    NOTE 5: Even though externally-managed internal VLs are also
                    used for VNF-internal connectivity, they shall not 
                            be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
                  type: object
                  required:
                    - id
                    - vnfdId
                    - vnfProvider
                    - vnfProductName
                    - vnfSoftwareVersion
                    - vnfdVersion
                    - vnfPkgId
                    - instantiationState
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfInstanceName:
                      description: >
                        Name of the VNF instance. Modifications to this
                        attribute can be requested using the "ModifyVnfInfoData"
                        structure.
                      type: string
                    vnfInstanceDescription:
                      description: >
                        Human-readable description of the VNF instance.
                        Modifications to this attribute can be requested using
                        the "ModifyVnfInfoData" structure.
                      type: string
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfProvider:
                      description: >
                        Provider of the VNF and the VNFD. The value is copied
                        from the VNFD.
                      type: string
                    vnfProductName:
                      description: >
                        Name to identify the VNF Product. The value is copied
                        from the VNFD.
                      type: string
                    vnfSoftwareVersion:
                      description: |
                        A Version. Representation: string of variable length.
                      type: string
                    vnfdVersion:
                      description: |
                        A Version. Representation: string of variable length.
                      type: string
                    vnfPkgId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfConfigurableProperties:
                      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
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    instantiationState:
                      description: >
                        The instantiation state of the VNF.

                        Permitted values: - NOT_INSTANTIATED: The VNF instance
                        is terminated or not instantiated. - INSTANTIATED: The
                        VNF instance is instantiated.
                      type: string
                      enum:
                        - NOT_INSTANTIATED
                        - INSTANTIATED
                    instantiatedVnfInfo:
                      description: >
                        Information specific to an instantiated VNF instance.
                        This attribute shall be present if the instantiateState
                        attribute value is INSTANTIATED.
                      type: object
                      required:
                        - flavourId
                        - vnfState
                        - extCpInfo
                      properties:
                        flavourId:
                          description: >
                            Identifier of the VNF Virtual Link Descriptor (VLD)
                            in the VNFD.
                          type: string
                        vnfState:
                          type: string
                          enum:
                            - STARTED
                            - STOPPED
                        scaleStatus:
                          description: >
                            Scale status of the VNF, one entry per aspect.
                            Represents for every scaling aspect how "big" the
                            VNF has been scaled w.r.t. that aspect.
                          type: array
                          items:
                            required:
                              - aspectId
                              - scaleLevel
                            type: object
                            properties:
                              aspectId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              scaleLevel:
                                description: >
                                  Indicates the scale level. The minimum value
                                  shall be 0 and the maximum value shall be <=
                                  maxScaleLevel as described in the VNFD.
                                type: integer
                        maxScaleLevels:
                          description: >
                            Maximum allowed scale levels of the VNF, one entry
                            per aspect. This attribute shall be present if the
                            VNF supports scaling.
                          type: array
                          items:
                            required:
                              - aspectId
                              - scaleLevel
                            type: object
                            properties:
                              aspectId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              scaleLevel:
                                description: >
                                  Indicates the scale level. The minimum value
                                  shall be 0 and the maximum value shall be <=
                                  maxScaleLevel as described in the VNFD.
                                type: integer
                        extCpInfo:
                          description: >
                            Information about the external CPs exposed by the
                            VNF instance. When trunking is enabled, the list of
                            entries includes both, external CPs corresponding to
                            parent ports of a trunk, and external CPs associated
                            to sub-ports of a trunk.
                          type: array
                          minItems: 1
                          items:
                            description: "This type represents information about an external CP of a VNF. It shall comply  with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n"
                            type: object
                            required:
                              - id
                              - cpdId
                            oneOf:
                              - required:
                                  - associatedVnfcCpId
                              - required:
                                  - associatedVnfVirtualLinkId
                            properties:
                              id:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              cpdId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              cpConfigId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              cpProtocolInfo:
                                description: |
                                  Network protocol information for this CP.
                                type: array
                                minItems: 1
                                items:
                                  description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                  type: object
                                  required:
                                    - layerProtocol
                                    - ipOverEthernet
                                  properties:
                                    layerProtocol:
                                      description: >
                                        The identifier of layer(s) and
                                        protocol(s) associated to the network
                                        address information. Permitted values:
                                          - IP_OVER_ETHERNET

                                        See note.
                                      type: string
                                      enum:
                                        - IP_OVER_ETHERNET
                                    ipOverEthernet:
                                      description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - macAddress
                                        - required:
                                            - ipAddresses
                                      properties:
                                        macAddress:
                                          description: >
                                            A MAC address. Representation: string
                                            that consists of groups of two
                                            hexadecimal digits, separated by hyphens
                                            or colons.
                                          type: string
                                          format: MAC
                                        segmentationId:
                                          description: >
                                            Identification of the network segment to
                                            which the Cp instance connects to. See
                                            note 3 and note 4.
                                          type: string
                                        ipAddresses:
                                          description: >
                                            Addresses assigned to the CP instance.
                                            Each entry represents IP addresses
                                            assigned by fixed or dynamic IP address
                                            assignment per subnet. See note 1.
                                          type: array
                                          items:
                                            type: object
                                            required:
                                              - type
                                            oneOf:
                                              - required:
                                                  - addresses
                                              - required:
                                                  - addressRange
                                            properties:
                                              type:
                                                description: >
                                                  The type of the IP addresses. Permitted
                                                  values: - IPV4 - IPV6
                                                type: string
                                                enum:
                                                  - IPV4
                                                  - IPV6
                                              addresses:
                                                description: >
                                                  Fixed addresses assigned (from the
                                                  subnet defined by "subnetId" if
                                                  provided). See note 2.
                                                type: array
                                                items:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                              isDynamic:
                                                description: >
                                                  Indicates whether this set of addresses
                                                  was assigned dynamically (true) or based
                                                  on address information provided as input
                                                  from the API consumer (false). Shall be
                                                  present if "addresses" is present and
                                                  shall be absent otherwise.
                                                type: boolean
                                              addressRange:
                                                description: >
                                                  An IP address range used, e.g., in case
                                                  of egress connections. Exactly one of
                                                  "addresses" or "addressRange" shall be
                                                  present. See note 2.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                        type:
                                          description: |
                                            The type of the IP addresses
                                          type: string
                                          enum:
                                            - PV4
                                            - PV6
                                        addresses:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        isDynamic:
                                          description: >
                                            Indicates whether this set of addresses
                                            was assigned dynamically (true) or based
                                            on address information provided as input
                                            from the API consumer (false). Shall be
                                            present if "addresses" is present and
                                            shall be absent otherwise.
                                          type: boolean
                                        addressRange:
                                          description: >
                                            An IP address range used, e.g. in case
                                            of egress connections. See note.
                                          type: object
                                          required:
                                            - minAddress
                                            - maxAddress
                                          properties:
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                        minAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        maxAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        subnetId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                              extLinkPortId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                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
                              associatedVnfcCpId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              associatedVipCpId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              associatedVnfVirtualLinkId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                        vipCpInfo:
                          description: >
                            VIP CPs that are part of the VNF instance. Shall be
                            present when that particular VIP CP of the VNFC
                            instance is associated to an external CP of the VNF
                            instance. May be present otherwise.
                          type: array
                          items:
                            description: >
                              This type provides information related to virtual
                              IP (VIP) CP. It shall comply with the provisions
                              defined in table 6.5.3.97 1. NOTE:   It is
                              possible that there is no associated VnfcCp
                              because the VIP CP is available but not associated
                              yet.
                            type: object
                            required:
                              - cpInstanceId
                              - cpdId
                            properties:
                              cpInstanceId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              cpdId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfExtCpId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              cpProtocolInfo:
                                description: >
                                  Protocol information for this CP. There shall
                                  be one cpProtocolInfo for layer 3. There may
                                  be one cpProtocolInfo for layer 2.
                                type: array
                                items:
                                  description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                  type: object
                                  required:
                                    - layerProtocol
                                    - ipOverEthernet
                                  properties:
                                    layerProtocol:
                                      description: >
                                        The identifier of layer(s) and
                                        protocol(s) associated to the network
                                        address information. Permitted values:
                                          - IP_OVER_ETHERNET

                                        See note.
                                      type: string
                                      enum:
                                        - IP_OVER_ETHERNET
                                    ipOverEthernet:
                                      description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - macAddress
                                        - required:
                                            - ipAddresses
                                      properties:
                                        macAddress:
                                          description: >
                                            A MAC address. Representation: string
                                            that consists of groups of two
                                            hexadecimal digits, separated by hyphens
                                            or colons.
                                          type: string
                                          format: MAC
                                        segmentationId:
                                          description: >
                                            Identification of the network segment to
                                            which the Cp instance connects to. See
                                            note 3 and note 4.
                                          type: string
                                        ipAddresses:
                                          description: >
                                            Addresses assigned to the CP instance.
                                            Each entry represents IP addresses
                                            assigned by fixed or dynamic IP address
                                            assignment per subnet. See note 1.
                                          type: array
                                          items:
                                            type: object
                                            required:
                                              - type
                                            oneOf:
                                              - required:
                                                  - addresses
                                              - required:
                                                  - addressRange
                                            properties:
                                              type:
                                                description: >
                                                  The type of the IP addresses. Permitted
                                                  values: - IPV4 - IPV6
                                                type: string
                                                enum:
                                                  - IPV4
                                                  - IPV6
                                              addresses:
                                                description: >
                                                  Fixed addresses assigned (from the
                                                  subnet defined by "subnetId" if
                                                  provided). See note 2.
                                                type: array
                                                items:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                              isDynamic:
                                                description: >
                                                  Indicates whether this set of addresses
                                                  was assigned dynamically (true) or based
                                                  on address information provided as input
                                                  from the API consumer (false). Shall be
                                                  present if "addresses" is present and
                                                  shall be absent otherwise.
                                                type: boolean
                                              addressRange:
                                                description: >
                                                  An IP address range used, e.g., in case
                                                  of egress connections. Exactly one of
                                                  "addresses" or "addressRange" shall be
                                                  present. See note 2.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                        type:
                                          description: |
                                            The type of the IP addresses
                                          type: string
                                          enum:
                                            - PV4
                                            - PV6
                                        addresses:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        isDynamic:
                                          description: >
                                            Indicates whether this set of addresses
                                            was assigned dynamically (true) or based
                                            on address information provided as input
                                            from the API consumer (false). Shall be
                                            present if "addresses" is present and
                                            shall be absent otherwise.
                                          type: boolean
                                        addressRange:
                                          description: >
                                            An IP address range used, e.g. in case
                                            of egress connections. See note.
                                          type: object
                                          required:
                                            - minAddress
                                            - maxAddress
                                          properties:
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                        minAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        maxAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        subnetId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                              associatedVnfcCpIds:
                                description: >
                                  Identifiers of the VnfcCps that share the
                                  virtual IP addresse allocated to the VIP CP
                                  instance. See note.
                                type: array
                                items:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                              vnfLinkPortId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              metadata:
                                description: >
                                  Allows the OSS/BSS to provide additional
                                  parameter(s) to the termination process at the
                                  NS level.
                                type: array
                                items:
                                  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
                        extVirtualLinkInfo:
                          description: >
                            Information about the external VLs the VNF instance
                            is connected to.
                          type: array
                          items:
                            type: object
                            required:
                              - id
                              - resourceHandle
                            properties:
                              id:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceHandle:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              extLinkPorts:
                                description: |
                                  Link ports of this VL.
                                type: array
                                items:
                                  description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                  type: object
                                  required:
                                    - id
                                    - resourceHandle
                                  properties:
                                    id:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceHandle:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    cpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    secondaryCpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    trunkResourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                              currentVnfExtCpData:
                                description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                type: object
                                required:
                                  - cpdId
                                properties:
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  cpConfig:
                                    description: >
                                      Map of instance data that need to be
                                      configured on the CP instances  created
                                      from the respective CPD. The key of the
                                      map which identifies  the individual
                                      VnfExtCpConfig entries is of type
                                      "IdentifierInVnf"  and is managed by the
                                      API consumer. The entries shall be applied
                                      by  the VNFM according to the rules of
                                      JSON Merge Patch (see IETF RFC 7396
                                      [11]).  See notes 2, 3 and 4.
                                    type: object
                                    additionalProperties:
                                      description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - linkPortId
                                        - required:
                                            - cpProtocolData
                                      properties:
                                        parentCpConfigId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        linkPortId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        createExtLinkPort:
                                          description: >
                                            Indicates the need to create a dedicated
                                            link port for the external CP. If set to
                                            True, a link port is created. If set to
                                            False, no link port is created. This
                                            attribute is only applicable for
                                            external CP instances without a floating
                                            IP address that expose a VIP CP instance
                                            for which a dedicated IP address is
                                            allocated. It shall be present in that
                                            case and shall be absent otherwise.
                                          type: boolean
                                        cpProtocolData:
                                          description: >
                                            Parameters for configuring the network
                                            protocols on the link port that connects
                                            the CP to a VL. See note 1.
                                          type: array
                                          items:
                                            description: >
                                              This type represents network protocol
                                              data.
                                            type: object
                                            required:
                                              - layerProtocol
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  Identifier of layer(s) and protocol(s).
                                                  Permitted values: IP_OVER_ETHERNET.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                              ipOverEthernet:
                                                description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                type: object
                                                anyOf:
                                                  - required:
                                                      - ipAddresses
                                                  - required:
                                                      - macAddress
                                                properties:
                                                  macAddress:
                                                    description: >
                                                      A MAC address. Representation: string
                                                      that consists of groups of two
                                                      hexadecimal digits, separated by hyphens
                                                      or colons.
                                                    type: string
                                                    format: MAC
                                                  segmentationType:
                                                    description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                    type: string
                                                    enum:
                                                      - VLAN
                                                      - INHERIT
                                                  segmentationId:
                                                    description: >
                                                      Identification of the network segment to
                                                      which the CP instance connects to. See
                                                      note 3 and note 4.
                                                    type: string
                                                  ipAddresses:
                                                    description: >
                                                      List of IP addresses to assign to the CP
                                                      instance. Each entry represents IP
                                                      address data for fixed or dynamic IP
                                                      address assignment per subnet. If this
                                                      attribute is not present, no IP address
                                                      shall be assigned. See note 1.
                                                    type: array
                                                    items:
                                                      type: object
                                                      required:
                                                        - type
                                                      oneOf:
                                                        - required:
                                                            - fixedAddresses
                                                        - required:
                                                            - numDynamicAddresses
                                                        - required:
                                                            - addressRange
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values:
                                                              - IPV4
                                                              - IPV6
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        fixedAddresses:
                                                          description: >
                                                            Fixed addresses to assign (from the
                                                            subnet defined by "subnetId" if
                                                            provided). Exactly one of
                                                            "fixedAddresses", "numDynamicAddresses"
                                                            or "ipAddressRange" shall be present.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                        numDynamicAddresses:
                                                          description: >
                                                            Number of dynamic addresses to assign
                                                            (from the subnet defined by "subnetId"
                                                            if provided). See note 2.
                                                          type: integer
                                                        addressRange:
                                                          description: >
                                                            An IP address range to be used, e.g. in
                                                            case of egress connections. In case this
                                                            attribute is present, IP addresses from
                                                            the range will be used.
                                                          type: object
                                                          required:
                                                            - minAddress
                                                            - maxAddress
                                                          properties:
                                                            minAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                            maxAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                        subnetId:
                                                          description: >
                                                            An identifier maintained by the VIM or
                                                            other resource provider. It is expected
                                                            to be unique within the VIM instance.
                                                            Representation: string of variable
                                                            length.
                                                          type: string
                        extManagedVirtualLinkInfo:
                          description: >
                            Information about the externally-managed internal
                            VLs of the VNF instance.  See note 4 and note 5.
                          type: array
                          items:
                            type: object
                            required:
                              - id
                              - vnfVirtualLinkDescId
                            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
                              vnfVirtualLinkDescId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              networkResource:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              vnfLinkPorts:
                                description: |
                                  Link ports of this VL.
                                type: array
                                items:
                                  type: object
                                  description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                  required:
                                    - id
                                    - resourceHandle
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    resourceHandle:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    cpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpInstanceType:
                                      description: >
                                        Type of the CP instance that is
                                        identified by cpInstanceId. Shall be
                                        present if "cpInstanceId" is present,
                                        and shall be absent otherwise. Permitted
                                        values: * VNFC_CP: The link port is
                                        connected to a VNFC CP * EXT_CP: The
                                        link port is associated to an external
                                        CP. See note 1.
                                      type: string
                                      enum:
                                        - VNFC_CP
                                        - EXT_CP
                                    vipCpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    trunkResourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                              extManagedMultisiteVirtualLinkId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                        monitoringParameters:
                          description: >
                            Performance metrics tracked by the VNFM (e.g. for 
                            auto-scaling purposes) as identified by the VNF 
                            provider in the VNFD.
                          type: array
                          items:
                            description: >
                              This type represents a monitoring parameter that
                              is tracked by the VNFM, for example,  for
                              auto-scaling purposes. It shall comply with the
                              provisions defined in Table 6.5.3.69-1.
                            type: object
                            required:
                              - id
                              - performanceMetric
                            properties:
                              id:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              name:
                                description: >
                                  Human readable name of the monitoring
                                  parameter, as defined in the VNFD.
                                type: string
                              performanceMetric:
                                description: >
                                  Performance metric that is monitored. This
                                  attribute shall contain the related 
                                  "Measurement Name" value as defined in clause
                                  7.2 of ETSI GS NFV-IFA 027.
                                type: string
                        localizationLanguage:
                          description: >
                            Information about localization language of the VNF
                            (includes e.g. strings in the VNFD). The
                            localization languages supported by a VNF can be
                            declared in the VNFD, and localization language
                            selection can take place at instantiation time. The
                            value shall comply with the format defined in IETF
                            RFC 5646.
                          type: string
                        vnfcResourceInfo:
                          description: >
                            Information about the virtualised compute and
                            storage resources used by the VNFCs of the VNF
                            instance.
                          type: array
                          items:
                            description: "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n"
                            type: object
                            required:
                              - id
                              - vduId
                              - computeResource
                            properties:
                              id:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vduId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              computeResource:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              storageResourceIds:
                                description: >
                                  References to the VirtualStorage resources.
                                  The value refers to a
                                  VirtualStorageResourceInfo item in the
                                  VnfInstance.
                                type: array
                                items:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                              reservationId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfcCpInfo:
                                description: >
                                  CPs of the VNFC instance. Shall be present
                                  when that particular CP of the VNFC instance
                                  is exposed as an external CP of the VNF
                                  instance or is connected to an external CP of
                                  the VNF instance.See note 2. May be present
                                  otherwise.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - id
                                    - cpdId
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpdId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfExtCpId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpProtocolInfo:
                                      description: >
                                        Network protocol information for this
                                        CP. May be omitted if the VNFC CP is
                                        exposed as an external CP. See note 3.
                                      type: array
                                      items:
                                        description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                        type: object
                                        required:
                                          - layerProtocol
                                          - ipOverEthernet
                                        properties:
                                          layerProtocol:
                                            description: >
                                              The identifier of layer(s) and
                                              protocol(s) associated to the network
                                              address information. Permitted values:
                                                - IP_OVER_ETHERNET

                                              See note.
                                            type: string
                                            enum:
                                              - IP_OVER_ETHERNET
                                          ipOverEthernet:
                                            description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                            type: object
                                            anyOf:
                                              - required:
                                                  - macAddress
                                              - required:
                                                  - ipAddresses
                                            properties:
                                              macAddress:
                                                description: >
                                                  A MAC address. Representation: string
                                                  that consists of groups of two
                                                  hexadecimal digits, separated by hyphens
                                                  or colons.
                                                type: string
                                                format: MAC
                                              segmentationId:
                                                description: >
                                                  Identification of the network segment to
                                                  which the Cp instance connects to. See
                                                  note 3 and note 4.
                                                type: string
                                              ipAddresses:
                                                description: >
                                                  Addresses assigned to the CP instance.
                                                  Each entry represents IP addresses
                                                  assigned by fixed or dynamic IP address
                                                  assignment per subnet. See note 1.
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - type
                                                  oneOf:
                                                    - required:
                                                        - addresses
                                                    - required:
                                                        - addressRange
                                                  properties:
                                                    type:
                                                      description: >
                                                        The type of the IP addresses. Permitted
                                                        values: - IPV4 - IPV6
                                                      type: string
                                                      enum:
                                                        - IPV4
                                                        - IPV6
                                                    addresses:
                                                      description: >
                                                        Fixed addresses assigned (from the
                                                        subnet defined by "subnetId" if
                                                        provided). See note 2.
                                                      type: array
                                                      items:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                    isDynamic:
                                                      description: >
                                                        Indicates whether this set of addresses
                                                        was assigned dynamically (true) or based
                                                        on address information provided as input
                                                        from the API consumer (false). Shall be
                                                        present if "addresses" is present and
                                                        shall be absent otherwise.
                                                      type: boolean
                                                    addressRange:
                                                      description: >
                                                        An IP address range used, e.g., in case
                                                        of egress connections. Exactly one of
                                                        "addresses" or "addressRange" shall be
                                                        present. See note 2.
                                                      type: object
                                                      required:
                                                        - minAddress
                                                        - maxAddress
                                                      properties:
                                                        minAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        maxAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                    subnetId:
                                                      description: >
                                                        An identifier maintained by the VIM or
                                                        other resource provider. It is expected
                                                        to be unique within the VIM instance.
                                                        Representation: string of variable
                                                        length.
                                                      type: string
                                              type:
                                                description: |
                                                  The type of the IP addresses
                                                type: string
                                                enum:
                                                  - PV4
                                                  - PV6
                                              addresses:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              isDynamic:
                                                description: >
                                                  Indicates whether this set of addresses
                                                  was assigned dynamically (true) or based
                                                  on address information provided as input
                                                  from the API consumer (false). Shall be
                                                  present if "addresses" is present and
                                                  shall be absent otherwise.
                                                type: boolean
                                              addressRange:
                                                description: >
                                                  An IP address range used, e.g. in case
                                                  of egress connections. See note.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                    parentCpId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    vnfLinkPortId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      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
                              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
                        vnfVirtualLinkResourceInfo:
                          description: >
                            Information about the virtualised network resources
                            used by the VLs of the VNF instance. See note 5.
                          type: array
                          items:
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              an internal VL instance in a VNF instance.
                            type: object
                            required:
                              - id
                              - vnfVirtualLinkDescId
                              - networkResource
                            properties:
                              id:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfVirtualLinkDescId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              networkResource:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              reservationId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfLinkPorts:
                                description: >
                                  Links ports of this VL. Shall be present when
                                  the linkPort is used for external connectivity
                                  by the VNF (refer to VnfLinkPortInfo). May be
                                  present otherwise.
                                type: array
                                items:
                                  type: object
                                  description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                  required:
                                    - id
                                    - resourceHandle
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    resourceHandle:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    cpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpInstanceType:
                                      description: >
                                        Type of the CP instance that is
                                        identified by cpInstanceId. Shall be
                                        present if "cpInstanceId" is present,
                                        and shall be absent otherwise. Permitted
                                        values: * VNFC_CP: The link port is
                                        connected to a VNFC CP * EXT_CP: The
                                        link port is associated to an external
                                        CP. See note 1.
                                      type: string
                                      enum:
                                        - VNFC_CP
                                        - EXT_CP
                                    vipCpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    trunkResourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      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
                        virtualStorageResourceInfo:
                          description: >
                            Information on the virtualised storage resource(s)
                            used as storage for the VNF instance.
                          type: array
                          items:
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance.
                            type: object
                            required:
                              - id
                              - virtualStorageDescId
                              - storageResource
                            properties:
                              id:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              virtualStorageDescId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              storageResource:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              reservationId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                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
                    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
                    extensions:
                      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
              pnfInfo:
                description: |
                  Information on the PNF(s) that are part of the NS instance.
                type: array
                items:
                  description: >
                    This type represents the information about a PNF that is
                    part of an NS instance.  It shall comply with the provisions
                    defined in Table 6.5.3.13-1.
                  type: object
                  required:
                    - pnfId
                    - pnfdId
                    - pnfdInfoId
                    - pnfProfileId
                  properties:
                    pnfId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfName:
                      description: |
                        Name of the PNF.
                      type: string
                    pnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfdInfoId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    cpInfo:
                      description: >
                        This type represents the information about the external
                        CP of the PNF.  It shall comply with the provisions
                        defined in Table 6.5.3.17-1.
                      type: object
                      required:
                        - cpInstanceId
                        - cpdId
                      properties:
                        cpInstanceId:
                          description: >
                            An Identifier that is unique within respect to a
                            PNF. Representation: string of variable length.
                          type: string
                        cpdId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        cpProtocolData:
                          description: >
                            Parameters for configuring the network protocols on
                            the CP.
                          type: array
                          items:
                            description: |
                              This type represents network protocol data.
                            type: object
                            required:
                              - layerProtocol
                            properties:
                              layerProtocol:
                                description: >
                                  Identifier of layer(s) and protocol(s).
                                  Permitted values: IP_OVER_ETHERNET.
                                type: string
                                enum:
                                  - IP_OVER_ETHERNET
                              ipOverEthernet:
                                description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                type: object
                                anyOf:
                                  - required:
                                      - ipAddresses
                                  - required:
                                      - macAddress
                                properties:
                                  macAddress:
                                    description: >
                                      A MAC address. Representation: string that
                                      consists of groups of two hexadecimal
                                      digits, separated by hyphens or colons.
                                    type: string
                                    format: MAC
                                  segmentationType:
                                    description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                    type: string
                                    enum:
                                      - VLAN
                                      - INHERIT
                                  segmentationId:
                                    description: >
                                      Identification of the network segment to
                                      which the CP instance connects to. See
                                      note 3 and note 4.
                                    type: string
                                  ipAddresses:
                                    description: >
                                      List of IP addresses to assign to the CP
                                      instance. Each entry represents IP address
                                      data for fixed or dynamic IP address
                                      assignment per subnet. If this attribute
                                      is not present, no IP address shall be
                                      assigned. See note 1.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - type
                                      oneOf:
                                        - required:
                                            - fixedAddresses
                                        - required:
                                            - numDynamicAddresses
                                        - required:
                                            - addressRange
                                      properties:
                                        type:
                                          description: >
                                            The type of the IP addresses. Permitted
                                            values:
                                              - IPV4
                                              - IPV6
                                          type: string
                                          enum:
                                            - IPV4
                                            - IPV6
                                        fixedAddresses:
                                          description: >
                                            Fixed addresses to assign (from the
                                            subnet defined by "subnetId" if
                                            provided). Exactly one of
                                            "fixedAddresses", "numDynamicAddresses"
                                            or "ipAddressRange" shall be present.
                                          type: array
                                          items:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                        numDynamicAddresses:
                                          description: >
                                            Number of dynamic addresses to assign
                                            (from the subnet defined by "subnetId"
                                            if provided). See note 2.
                                          type: integer
                                        addressRange:
                                          description: >
                                            An IP address range to be used, e.g. in
                                            case of egress connections. In case this
                                            attribute is present, IP addresses from
                                            the range will be used.
                                          type: object
                                          required:
                                            - minAddress
                                            - maxAddress
                                          properties:
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                        subnetId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
              virtualLinkInfo:
                description: >
                  Information on the VL(s) of the NS instance. This attribute
                  shall be present if the nsState attribute value is
                  INSTANTIATED and if the NS instance has specified
                  connectivity.
                type: array
                items:
                  description: "This type specifies the information about an NS VL instance.  It shall comply with the provisions defined in Table 6.5.3.53-1.\nNOTE:\tAs an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink shall be the same as the corresponding NsVirtualLink.\n"
                  type: object
                  required:
                    - id
                    - nsVirtualLinkDescId
                    - nsVirtualLinkProfileId
                  properties:
                    id:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    nsVirtualLinkDescId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    nsVirtualLinkProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    resourceHandle:
                      description: >
                        Identifier(s) of the virtualised network resource(s)
                        and/or multi-site connectivity service(s) realizing the
                        VL instance. See note.
                      type: array
                      items:
                        description: >
                          This type represents the information that allows
                          addressing a virtualised resource that is used by a
                          VNF instance or by an NS instance. Information about
                          the resource is available from the VIM. NOTE: The
                          value set of the "vimLevelResourceType" attribute is
                          within the scope of the VIM, the WIM or the resource
                          provider and can be used as information that
                          complements the ResourceHandle.
                        type: object
                        required:
                          - resourceId
                        properties:
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceProviderId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceId:
                            description: >
                              An identifier maintained by the VIM or other
                              resource provider. It is expected to be unique
                              within the VIM instance. Representation: string of
                              variable length.
                            type: string
                          vimLevelResourceType:
                            description: >
                              Type of the resource in the scope of the VIM, the
                              WIM or the resource provider. The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM, the WIM or the resource provider
                              and can be used as information that complements
                              the ResourceHandle. See note.
                            type: string
                    linkPort:
                      description: >
                        Link ports of the VL instance. Cardinality of zero
                        indicates that no port has yet been created for the VL
                        instance.
                      type: array
                      items:
                        description: "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1. NOTE:\tWhen the NsVirtualLink, from which the present NsLinkPort is part of, is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtLinkPort shall be the same as the corresponding NsLinkPort.\n"
                        type: object
                        required:
                          - id
                          - resourceHandle
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance or by an NS instance. Information
                              about the resource is available from the VIM.
                              NOTE: The value set of the "vimLevelResourceType"
                              attribute is within the scope of the VIM, the WIM
                              or the resource provider and can be used as
                              information that complements the ResourceHandle.
                            type: object
                            required:
                              - resourceId
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceProviderId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceId:
                                description: >
                                  An identifier maintained by the VIM or other
                                  resource provider. It is expected to be unique
                                  within the VIM instance. Representation:
                                  string of variable length.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM,
                                  the WIM or the resource provider. The value
                                  set of the "vimLevelResourceType" attribute is
                                  within the scope of the VIM, the WIM or the
                                  resource provider and can be used as
                                  information that complements the
                                  ResourceHandle. See note.
                                type: string
                          nsCpHandle:
                            description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                            type: object
                            oneOf:
                              - required:
                                  - vnfInstanceId
                                  - vnfExtCpInstanceId
                              - required:
                                  - pnfInfoId
                                  - pnfExtCpInstanceId
                              - required:
                                  - nsInstanceId
                                  - nsSapInstanceId
                            properties:
                              vnfInstanceId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfExtCpInstanceId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              pnfInfoId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              pnfExtCpInstanceId:
                                description: >
                                  An Identifier that is unique within respect to
                                  a PNF. Representation: string of variable
                                  length.
                                type: string
                              nsInstanceId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              nsSapInstanceId:
                                description: >
                                  An identifier that is unique with respect to a
                                  NS. Representation: string of variable length.
                                type: string
              vnffgInfo:
                description: |
                  Information on the VNFFG(s) of the NS instance.
                type: array
                items:
                  description: "Information on the VNFFG(s) of the NS instance. NOTE:\tIt indicates an exhaustive list of all the CP instances and SAP instances of the VNFFG.\n"
                  type: object
                  required:
                    - id
                    - vnffgdId
                    - vnfInstanceId
                    - pnfInfoId
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnffgdId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    vnfInstanceId:
                      description: >
                        Identifier(s) of the constituent VNF instance(s) of this
                        VNFFG instance.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    pnfdInfoId:
                      description: >
                        Identifier(s) of the constituent PNF instance(s) of this
                        VNFFG instance.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    nsVirtualLinkInfoId:
                      description: >
                        Identifier(s) of the constituent VL instance(s) of this
                        VNFFG instance.
                      type: array
                      items:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                    nsCpHandle:
                      description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                      type: object
                      oneOf:
                        - required:
                            - vnfInstanceId
                            - vnfExtCpInstanceId
                        - required:
                            - pnfInfoId
                            - pnfExtCpInstanceId
                        - required:
                            - nsInstanceId
                            - nsSapInstanceId
                      properties:
                        vnfInstanceId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfExtCpInstanceId:
                          description: >
                            An identifier that is unique for the respective type
                            within a VNF instance, but may not be globally
                            unique.
                          type: string
                        pnfInfoId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        pnfExtCpInstanceId:
                          description: >
                            An Identifier that is unique within respect to a
                            PNF. Representation: string of variable length.
                          type: string
                        nsInstanceId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        nsSapInstanceId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
              sapInfo:
                description: |
                  Information on the SAP(s) of the NS instance.
                type: array
                items:
                  description: >
                    This type represents an SAP instance. It shall comply with
                    the provisions defined in Table 6.5.3.67-1.
                  type: object
                  required:
                    - id
                    - sapdId
                    - sapName
                    - sapProtocolInfo
                  properties:
                    id:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    sapdId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    sapName:
                      description: |
                        Human readable name for the SAP instance.
                      type: string
                    description:
                      description: |
                        Human readable description for the SAP instance.
                      type: string
                    sapProtocolInfo:
                      description: |
                        Network protocol information for this SAP.
                      type: array
                      items:
                        description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                        type: object
                        required:
                          - layerProtocol
                          - ipOverEthernet
                        properties:
                          layerProtocol:
                            description: >
                              The identifier of layer(s) and protocol(s)
                              associated to the network address information.
                              Permitted values:
                                - IP_OVER_ETHERNET

                              See note.
                            type: string
                            enum:
                              - IP_OVER_ETHERNET
                          ipOverEthernet:
                            description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                            type: object
                            anyOf:
                              - required:
                                  - macAddress
                              - required:
                                  - ipAddresses
                            properties:
                              macAddress:
                                description: >
                                  A MAC address. Representation: string that
                                  consists of groups of two hexadecimal digits,
                                  separated by hyphens or colons.
                                type: string
                                format: MAC
                              segmentationId:
                                description: >
                                  Identification of the network segment to which
                                  the Cp instance connects to. See note 3 and
                                  note 4.
                                type: string
                              ipAddresses:
                                description: >
                                  Addresses assigned to the CP instance. Each
                                  entry represents IP addresses assigned by
                                  fixed or dynamic IP address assignment per
                                  subnet. See note 1.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - type
                                  oneOf:
                                    - required:
                                        - addresses
                                    - required:
                                        - addressRange
                                  properties:
                                    type:
                                      description: >
                                        The type of the IP addresses. Permitted
                                        values: - IPV4 - IPV6
                                      type: string
                                      enum:
                                        - IPV4
                                        - IPV6
                                    addresses:
                                      description: >
                                        Fixed addresses assigned (from the
                                        subnet defined by "subnetId" if
                                        provided). See note 2.
                                      type: array
                                      items:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                    isDynamic:
                                      description: >
                                        Indicates whether this set of addresses
                                        was assigned dynamically (true) or based
                                        on address information provided as input
                                        from the API consumer (false). Shall be
                                        present if "addresses" is present and
                                        shall be absent otherwise.
                                      type: boolean
                                    addressRange:
                                      description: >
                                        An IP address range used, e.g., in case
                                        of egress connections. Exactly one of
                                        "addresses" or "addressRange" shall be
                                        present. See note 2.
                                      type: object
                                      required:
                                        - minAddress
                                        - maxAddress
                                      properties:
                                        minAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        maxAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                    subnetId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                              type:
                                description: |
                                  The type of the IP addresses
                                type: string
                                enum:
                                  - PV4
                                  - PV6
                              addresses:
                                description: >
                                  An IPV4 or IPV6 address. Representation: In
                                  case of an IPV4 address, string that consists
                                  of four decimal integers separated by dots,
                                  each integer ranging from 0 to 255. In case of
                                  an IPV6 address, string that consists of
                                  groups of zero to four hexadecimal digits,
                                  separated by colons.
                                type: string
                                format: IP
                              isDynamic:
                                description: >
                                  Indicates whether this set of addresses was
                                  assigned dynamically (true) or based on
                                  address information provided as input from the
                                  API consumer (false). Shall be present if
                                  "addresses" is present and shall be absent
                                  otherwise.
                                type: boolean
                              addressRange:
                                description: >
                                  An IP address range used, e.g. in case of
                                  egress connections. See note.
                                type: object
                                required:
                                  - minAddress
                                  - maxAddress
                                properties:
                                  minAddress:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  maxAddress:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                              minAddress:
                                description: >
                                  An IPV4 or IPV6 address. Representation: In
                                  case of an IPV4 address, string that consists
                                  of four decimal integers separated by dots,
                                  each integer ranging from 0 to 255. In case of
                                  an IPV6 address, string that consists of
                                  groups of zero to four hexadecimal digits,
                                  separated by colons.
                                type: string
                                format: IP
                              maxAddress:
                                description: >
                                  An IPV4 or IPV6 address. Representation: In
                                  case of an IPV4 address, string that consists
                                  of four decimal integers separated by dots,
                                  each integer ranging from 0 to 255. In case of
                                  an IPV6 address, string that consists of
                                  groups of zero to four hexadecimal digits,
                                  separated by colons.
                                type: string
                                format: IP
                              subnetId:
                                description: >
                                  An identifier maintained by the VIM or other
                                  resource provider. It is expected to be unique
                                  within the VIM instance. Representation:
                                  string of variable length.
                                type: string
              nestedNsInstanceId:
                description: |
                  Identifier of the nested NS(s) of the NS instance. See note.
                type: array
                items:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
              vnfSnapshotInfoIds:
                description: >
                  Identifier of information on VNF snapshots of VNF instances
                  that are part of this NS instance.
                type: array
                items:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
              nsState:
                description: >
                  The state of the NS instance. Permitted values:
                  NOT_INSTANTIATED: The NS instance is terminated or not
                  instantiated. INSTANTIATED: The NS instance is instantiated.
                type: string
                enum:
                  - NOT_INSTANTIATED
                  - INSTANTIATED
              monitoringParameter:
                description: >
                  Performance metrics tracked by the NFVO (e.g. for auto-scaling
                  purposes) as identified by the NS designer in the NSD.
                type: array
                items:
                  description: >
                    This type represents a monitoring parameter that is tracked
                    by the NFVO, for example,  for auto-scaling purposes. It
                    shall comply with the provisions defined in Table
                    6.5.3.68-1.
                  type: object
                  required:
                    - id
                    - performanceMetric
                  properties:
                    id:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    name:
                      description: >
                        Human readable name of the monitoring parameter, as
                        defined in the NSD.
                      type: string
                    performanceMetric:
                      description: >
                        Performance metric that is monitored. This attribute
                        shall contain the related  "Measurement Name" value as
                        defined in clause 7.2 of ETSI GS NFV-IFA 027.
                      type: string
              nsScaleStatus:
                description: >
                  Status of each NS scaling aspect declared in the applicable
                  DF, how "big" the NS instance has been scaled w.r.t. that
                  aspect. This attribute shall be present if the nsState
                  attribute value is INSTANTIATED.
                type: array
                items:
                  description: >
                    This type represents the target NS Scale level for each NS
                    scaling aspect of the current deployment flavor.
                  type: object
                  required:
                    - nsScalingAspectId
                    - nsScaleLevelId
                  properties:
                    nsScalingAspectId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    nsScaleLevelId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
              additionalAffinityOrAntiAffinityRule:
                description: >
                  Information on the additional affinity or anti-affinity rule
                  from NS instantiation operation. Shall not conflict with rules
                  already specified in the NSD.
                type: array
                items:
                  description: >
                    This type describes the additional affinity or anti-affinity
                    rule applicable between the VNF instances to be instantiated
                    in the NS instantiation operation request or between the VNF
                    instances to be instantiated in the NS instantiation
                    operation request and the existing VNF instances..
                  type: object
                  required:
                    - affinityOrAntiAffiinty
                    - scope
                  properties:
                    vnfdId:
                      description: >
                        Reference to a VNFD. When the VNFD which is not used to
                        instantiate VNF, it presents all VNF instances of this
                        type as the subjects of the affinity or anti-affinity
                        rule. The VNF instance which the VNFD presents is not
                        necessary as a part of the NS to be instantiated.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    vnfProfileId:
                      description: >
                        Reference to a vnfProfile defined in the NSD. At least
                        one VnfProfile which is used to instantiate VNF for the
                        NS to be instantiated as the subject of the affinity or
                        anti-affinity rule shall be present. When the VnfProfile
                        which is not used to instantiate VNF, it presents all
                        VNF instances of this type as the subjects of the
                        affinity or anti-affinity rule. The VNF instance which
                        the VnfProfile presents is not necessary as a part of
                        the NS to be instantiated.
                      type: array
                      items:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                    vnfInstanceId:
                      description: >
                        Reference to the existing VNF instance as the subject of
                        the affinity or anti-affinity rule. The existing VNF
                        instance is not necessary as a part of the NS to be
                        instantiated.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    affinityOrAntiAffiinty:
                      description: >
                        The type of the constraint. Permitted values: AFFINITY
                        ANTI_AFFINITY.
                      type: string
                      enum:
                        - AFFINITY
                        - ANTI_AFFINITY
                    scope:
                      description: >
                        Specifies the scope of the rule where the placement
                        constraint applies. Permitted values: NFVI_POP ZONE
                        ZONE_GROUP NFVI_NODE.
                      type: string
                      enum:
                        - NFVI_POP
                        - ZONE
                        - ZONE_GROUP
                        - NFVI_NODE
              wanConnectionInfo:
                description: >
                  Information about WAN related connectivity enabling multi-site
                  VLs.
                type: array
                items:
                  description: "This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,\nwhen the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.\nNOTE:\tEither a \"nsVirtualLinkInfoId\" or a \"vnfVirtualLinkResourceInfoId\" shall be provided, but not both.\n"
                  type: object
                  required:
                    - wanConnectionInfoId
                  oneOf:
                    - required:
                        - nsVirtualLinkInfoId
                    - required:
                        - vnfVirtualLinkResourceInfoId
                  properties:
                    wanConnectionInfoId:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    nsVirtualLinkInfoId:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    vnfVirtualLinkResourceInfoId:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    protocolInfo:
                      description: >
                        This type provides protocol specific information about
                        the connectivity to the WAN of network resources
                        realizing

                        a VL, e.g., when the VL is deployed on several sites and
                        across a WAN, and the related multi-site connectivity

                        service (MSCS) enabling the connectivity through the
                        WAN. This type supports providing information about both

                        pre-provisioned WAN connectivity realized by external
                        entities to NFV-MANO but parts of such connectivity is
                        known

                        to the NFVO, as well as information about MSCS created
                        under NFV-MANO responsibility (i.e., connectivity is
                        realized

                        when NFVO communicates with the WIM).  It shall comply
                        with the provisions defined in table 6.5.3.91-1.
                      type: object
                      properties:
                        mscsInfo:
                          description: >
                            This type provides information about an already
                            provisioned multi-site connectivity service (MSCS)
                            deployed across a WAN. It shall comply with the
                            provisions defined in Table 6.5.3.82-1.
                          type: object
                          required:
                            - mscsId
                            - mscsType
                          properties:
                            mscsId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            mscsName:
                              description: |
                                Human readable name of the MSCS.
                              type: string
                            mscsDescription:
                              description: |
                                Human readable description of the MSCS.
                              type: string
                            mscsType:
                              description: "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n"
                              type: string
                              enum:
                                - L2VPN
                                - L3VPN
                            mscsLayerProtocol:
                              description: "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n"
                              type: string
                              enum:
                                - EVPN_BGP_MPLS
                                - EVPN_VPWS
                                - VPLS_BGP
                                - VPLS_LDP
                                - VPWS
                                - BGP_IP_VPN
                            siteAccessProtectionSchemes:
                              description: >
                                Information to determine the proper MSCS
                                endpoints configuration to fulfil certain
                                resiliency/protection requirements, e.g., by
                                considering certain availability and redundancy
                                of connectivity service endpoints in between
                                NFVI-PoP and WAN.
                              type: array
                              items:
                                type: object
                                properties:
                                  locationConstraints:
                                    description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                                    type: object
                                    properties:
                                      countryCode:
                                        description: >
                                          The two-letter ISO 3166 country code in
                                          capital letters. Shall be present in
                                          case the "area" attribute is absent. May
                                          be absent if the "area" attribute is
                                          present (see note).
                                        type: string
                                      civicAddressElement:
                                        description: >
                                          Zero or more elements comprising the
                                          civic address. Shall be absent if the
                                          "area" attribute is present.
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - caType
                                            - caValue
                                          properties:
                                            caType:
                                              description: >
                                                Describe the content type of caValue.
                                                The value of caType shall comply with
                                                Section 3.4 of IETF RFC 4776 [13].
                                              type: integer
                                            caValue:
                                              description: >
                                                Content of civic address element
                                                corresponding to the caType. The format
                                                caValue shall comply with Section 3.4 of
                                                IETF RFC 4776 [13].
                                              type: string
                                      area:
                                        description: >
                                          Geographic area. Shall be absent if the
                                          "civicAddressElement" attribute is
                                          present. The content of this attribute
                                          shall follow the provisions for the
                                          "Polygon" geometry object as defined in
                                          IETF RFC 7946, for which the "type"
                                          member shall be set to the value
                                          "Polygon". See note.
                                        type: object
                                  protectionScheme:
                                    description: "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n"
                                    type: string
                                    enum:
                                      - UNPROTECTED
                                      - ONE_TO_ONE
                                      - ONE_PLUS_ONE
                                      - ONE_TO_N
                            mtuMscs:
                              description: >
                                Maximum Transmission Unit (MTU) that can be
                                forwarded over the MSCS (in bytes). Default
                                value is "1500" (bytes).
                              type: number
                            mscsEndpoints:
                              description: >
                                Information about the MSCS endpoints of the
                                MSCS.
                              type: array
                              items:
                                description: >
                                  This type provides encapsulates information
                                  about an MSCS endpoint of the MSCS. It shall
                                  comply with the provisions defined in table
                                  6.5.3.83-1.
                                type: object
                                required:
                                  - mscsEndpointId
                                  - directionality
                                  - connectivityServiceEndpoinId
                                properties:
                                  mscsEndpointId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  directionality:
                                    description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                    type: string
                                    enum:
                                      - INBOUND
                                      - OUTBOUND
                                      - BOTH
                                  connectivityServiceEndpoinId:
                                    description: >
                                      References the connectivity service
                                      endpoint configuration information
                                      applicable to support the MSCS endpoint.
                                      More than one connectivity service
                                      endpoint can be referred when endpoints
                                      are in LAG mode.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                        connectivityServiceEndpoints:
                          description: >
                            Configuration information about the network
                            resources in the NFVI-PoP and their connectivity to
                            the WAN.
                          type: array
                          items:
                            description: >
                              This type provides configuration data for the
                              NFVI-PoP network gateway providing connectivity
                              service endpoints. The connectivity service
                              endpoints are used as endpoints by an MSCS. It
                              shall comply with the provisions defined in Table
                              6.5.3.84-1.
                            type: object
                            required:
                              - connectivityServiceEndpointId
                              - vimId
                            properties:
                              connectivityServiceEndpointId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              siteToWanLayer2ProtocolData:
                                description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                type: object
                                required:
                                  - layer2ConnectionInfo
                                properties:
                                  layer2ConnectionInfo:
                                    description: >
                                      Layer 2 protocol parameters of the
                                      connectivity service endpoint (CSE).
                                    type: object
                                    required:
                                      - connectionType
                                      - interfaceType
                                      - interfaceTagging
                                      - encapsulationType
                                    properties:
                                      connectionType:
                                        description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                        type: string
                                        enum:
                                          - CSE
                                          - AGGREGATE_CSE
                                      interfaceType:
                                        description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                        type: string
                                        enum:
                                          - PARENT
                                          - LOGICAL
                                      interfaceTagging:
                                        description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                        type: string
                                        enum:
                                          - UNTAGGED
                                          - TAGGED
                                      encapsulationType:
                                        description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                        type: string
                                        enum:
                                          - ETH
                                          - VLAN
                                          - VXLAN
                                      vlanTaggingType:
                                        description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                        type: string
                                        enum:
                                          - DOT1Q
                                          - QINQ
                                          - QINANY
                                      wanSegmentIds:
                                        description: >
                                          Segment identifiers to pass on the
                                          tagged interface. Shall be present if
                                          encapsulationType="VLAN" or “VXLAN".
                                        type: object
                                        required:
                                          - wanSegmentIdValue
                                        properties:
                                          wanSegmentIdValue:
                                            description: >
                                              Identifier of the network segment (e.g.,
                                              VLAN id or VNI).
                                            type: string
                                          wanSegmentIdUpperRange:
                                            description: >
                                              Identifier of the upper range network
                                              segment, in case the "wanSegmentIds" is
                                              used to define a range.
                                            type: string
                                      vxlanConfig:
                                        description: >
                                          Additional configuration needed when
                                          using VXLAN encapsulation. Shall be
                                          present if interfaceTagging="TAGGED" and
                                          encapsulationType="VXLAN".
                                        type: object
                                        required:
                                          - peerMode
                                        properties:
                                          peerMode:
                                            description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                            type: string
                                            enum:
                                              - STATIC
                                              - BGP_EVPN
                                          peers:
                                            description: >
                                              List of IP addresses of VTEP peers when
                                              using static mode.
                                            type: array
                                            items:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                      lagInterfaceData:
                                        description: >
                                          Information for setting up a LAG
                                          interface aggregating multiple
                                          connectivity service endpoints.
                                        type: object
                                        required:
                                          - aggregatedEndpoints
                                          - lacpActivation
                                          - lacpConfig
                                        properties:
                                          aggregatedEndpoints:
                                            description: >
                                              List of the connectivity service
                                              endpoints that are to be aggregated.
                                              Shall be present if
                                              connectionType="AGGREGATE_CSE". In case
                                              of aggregating connectivity service
                                              endpoints, only one
                                              SiteToWanLayer2ProtocolData shall be
                                              provided for the whole set of aggregated
                                              endpoints.
                                            type: array
                                            items:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                          lacpActivation:
                                            description: >
                                              Indicates whether to activate LACP on
                                              the interface. If "TRUE", the LACP is to
                                              be activated, or "FALSE" otherwise.
                                              Default value is "FALSE".
                                            type: boolean
                                          lacpConfig:
                                            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
                                      layer2ControlProtocol:
                                        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
                                  mtuL2:
                                    description: >
                                      Maximum Transmission Unit (MTU) that can
                                      be forwarded at layer 2 (in bytes).
                                      Default value is "1500" (bytes).
                                    type: number
                                  virtualRoutingAndForwarding:
                                    description: >
                                      Configuration related to the L2 virtual
                                      routing and forwarding (MAC-VRF).
                                    type: object
                                    required:
                                      - macVrfName
                                    properties:
                                      macVrfName:
                                        description: >
                                          Name (or identifier) of the MAC-VRF
                                          instance.
                                        type: string
                                  forwardingConfig:
                                    description: >
                                      Information related to the forwarding of
                                      the VN in the NFVI-PoP to the connectivity
                                      service endpoint, if information about the
                                      VN to "stitch" is already known. . by the
                                      OSS/BSS. Shall not be provided otherwise,
                                      in which case the NFVO will infer the
                                      forwarding configuration based on the NS
                                      VL, or external VL, or externally-managed
                                      VL provisioning.
                                    type: object
                                    oneOf:
                                      - required:
                                          - networkResources
                                      - required:
                                          - vnSegmentIds
                                    properties:
                                      networkResources:
                                        description: >
                                          Reference to the VN resource to be
                                          forwarded into/from the MSCS. See note.
                                        type: array
                                        items:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                      vnSegmentIds:
                                        description: >
                                          Identifiers of the network segments of
                                          the VN resources to be forwarded
                                          into/from the MSCS.
                                        type: object
                                        required:
                                          - vnSegmentIdValue
                                        properties:
                                          vnSegmentIdValue:
                                            description: |
                                              Identifier of the network segment.
                                            type: string
                                          vnSegmentIdUpperRange:
                                            description: >
                                              Identifier of the upper range network
                                              segment, in case the "vnSegmentIds" is
                                              used to define a range.
                                            type: string
                              siteToWanLayer3ProtocolData:
                                description: >
                                  This type provides information about Layer 3
                                  protocol specific information for the
                                  stitching of the intra-site VN to the
                                  multi-site connectivity service over the WAN.
                                  It shall comply with the provisions defined in
                                  Table 6.5.3.86-1.
                                type: object
                                required:
                                  - routingInfo
                                properties:
                                  logicalInterfaceIpAddress:
                                    description: >
                                      IP addressing information associated to a
                                      logical interface. Shall be present if the
                                      "interfaceType" of the
                                      SiteToWanLayer2ProtocolData is equal to
                                      "LOGICAL".
                                    type: object
                                    required:
                                      - ipAddress
                                      - associatedSegmentId
                                    properties:
                                      ipAddress:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                      associatedSegmentId:
                                        description: >
                                          The associated segment identifier that
                                          has triggered the creation of the
                                          logical interface. The value shall be
                                          one of the values listed in the
                                          "wanSegmentIds" of the
                                          "siteToWanLayer2ProtocolData".
                                        type: string
                                  routingInfo:
                                    description: >
                                      The routing information that is activated
                                      on the connectivity service endpoint. More
                                      than one "routingInfo" is allowed to
                                      enable stacking different routing
                                      protocols (e.g., one routing protocol for
                                      IPv4 and another one for IPv6).
                                    type: object
                                    required:
                                      - routingProtocol
                                      - routingAddressFamily
                                    properties:
                                      routingProtocol:
                                        description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                        type: string
                                        enum:
                                          - BGP
                                          - RIP
                                          - OSPF
                                          - STATIC
                                          - DIRECT
                                          - VRRP
                                      staticRouting:
                                        description: >
                                          Defines a static route. It shall only be
                                          present if the routingProtocol="STATIC".
                                        type: object
                                        required:
                                          - ipVersion
                                          - ipPrefix
                                          - prefixSize
                                          - nextHop
                                        properties:
                                          ipVersion:
                                            description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          ipPrefix:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          prefixSize:
                                            description: |
                                              The IP prefix size.
                                            type: number
                                          nextHop:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                      routingAddressFamily:
                                        description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                        type: string
                                        enum:
                                          - IPV4
                                          - IPv6
                                      ospfRouting:
                                        description: >
                                          Defines parameters for OSPF routing. It
                                          shall only be present if the
                                          routingProtocol="OSPF".
                                        type: object
                                        required:
                                          - areaId
                                        properties:
                                          areaId:
                                            description: >
                                              The routing area identifier, e.g., a
                                              number or an IP address.
                                            type: string
                                      bgpRouting:
                                        description: >
                                          Defines parameters for BGP routing. It
                                          shall only be present if the
                                          routingProtocol="BGP".
                                        type: object
                                        required:
                                          - bgpAs
                                        properties:
                                          bgpAs:
                                            description: >
                                              The Autonomous System (AS)
                                              identification applicable to the BGP
                                              routing info entry.
                                            type: object
                                          bgpNeighbour:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          bgpAdditionalParam:
                                            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
                                      routeMapsDistribution:
                                        description: >
                                          Maps of routes that are permitted or
                                          denied for redistribution.
                                        type: object
                                        required:
                                          - policy
                                          - sequence
                                          - matchAndSetRule
                                        properties:
                                          policy:
                                            description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                            type: string
                                            enum:
                                              - PERMIT
                                              - DENY
                                          sequence:
                                            description: >
                                              Sequence or index number assigned to the
                                              route-map.
                                            type: number
                                          matchAndSetRule:
                                            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
                                  mtuL3:
                                    description: >
                                      Maximum Transmission Unit (MTU) that can
                                      be forwarded at layer 3 (in bytes).
                                      Default value is "1500" (bytes).
                                    type: number
                                  virtualRoutingAndForwarding:
                                    description: >
                                      Configuration related to the virtual
                                      routing and forwarding (VRF).
                                    type: object
                                    required:
                                      - vrfName
                                    properties:
                                      vrfName:
                                        description: >
                                          Name (or identifier) of the VRF
                                          instance.
                                        type: string
                                  bfdConfig:
                                    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
              _links:
                type: object
                description: Links to resources related to this resource.
                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
                  nestedNsInstances:
                    description: |
                      Links to resources related to this notification.
                    type: array
                    items:
                      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
                  vnfSnapshotInfos:
                    description: >
                      Links to the VNF snapshots associated to VNF instances
                      which are part of this NS instance.
                    type: array
                    items:
                      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
                  instantiate:
                    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
                  terminate:
                    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
                  update:
                    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
                  scale:
                    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
                  heal:
                    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
    IndividualNsInstance.Get.200:
      description: >
        200 OK

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

        body shall contain a representation of the NS instance, as defined in
        clause 6.5.2.10.
      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:
            description: "This type represents a response for Query NS operation.  It shall comply with the provisions defined in Table 6.5.2.10-1.\nNOTE 1:\tIf the \"nsState\" attribute is INSTANTIATED, at least either one\n          \"vnfInstance\" attribute or one \"nestedNsInstanceId\" attribute shall be present.\nNOTE 2:\tThe “priority” attribute of the NS instance is configured in the NSD in the NsDf structure.\n          The mapping from application-specific priority values to a value in the NsDf is under OSS/BSS responsibility.\n          The \"zero\" value expresses the highest priority and the fact that the NS instance based on this DF cannot be\n          pre-empted during resource allocation.\nNOTE 3:\tExamples for the usage of priority include conflict resolution in case of resource shortage\n"
            type: object
            required:
              - id
              - nsInstanceName
              - nsInstanceDescription
              - nsdId
              - nsdInfoId
              - nsState
              - _links
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              nsInstanceName:
                description: |
                  Human readable name of the NS instance.
                type: string
              nsInstanceDescription:
                description: |
                  Human readable description of the NS instance.
                type: string
              nsdId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              nsdInfoId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              flavourId:
                description: >
                  An identifier that is unique within a NS descriptor.
                  Representation: string of variable length.
                type: string
              priority:
                description: |
                  A number as defined in IETF RFC 8259.
                type: number
              vnfInstance:
                description: >
                  Information on constituent VNF(s) of the NS instance. See note
                  1.
                type: array
                items:
                  description: >
                    This type represents a VNF instance. It shall comply with
                    the provisions defined in table 6.5.3.57-1.

                    NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides examples
                    illustrating the relationship among the 
                          different run-time information elements (CP, VL and link ports) used to represent the connectivity 
                          of a VNF.

                    NOTE 1: Modifying the value of this attribute shall not be
                    performed when conflicts exist between the 
                            previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to 
                            the previous VNFD in other aspects than merely referencing to other VNF software images. 
                            In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, 
                            the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall 
                            be kept in sync with the values in the VNFD.
                    NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and
                    format of the VNFD based on TOSCA specifications. NOTE 3:
                    VNF configurable properties are sometimes also referred to
                    as configuration parameters applicable 
                            to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, 
                            some are set prior to instantiation (are part of initial configuration) and can be modified later, 
                            and others can be set only after instantiation. The applicability of certain configuration may depend 
                            on the VNF and the required operation of the VNF at a certain point in time.
                    NOTE 4: It is possible to have several
                    ExtManagedVirtualLinkInfo for the same VNF internal VL in
                    case of a 
                            multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same 
                            VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed 
                            multi-site VL instance (refer to clause 6.5.3.59).
                    NOTE 5: Even though externally-managed internal VLs are also
                    used for VNF-internal connectivity, they shall not 
                            be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
                  type: object
                  required:
                    - id
                    - vnfdId
                    - vnfProvider
                    - vnfProductName
                    - vnfSoftwareVersion
                    - vnfdVersion
                    - vnfPkgId
                    - instantiationState
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfInstanceName:
                      description: >
                        Name of the VNF instance. Modifications to this
                        attribute can be requested using the "ModifyVnfInfoData"
                        structure.
                      type: string
                    vnfInstanceDescription:
                      description: >
                        Human-readable description of the VNF instance.
                        Modifications to this attribute can be requested using
                        the "ModifyVnfInfoData" structure.
                      type: string
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfProvider:
                      description: >
                        Provider of the VNF and the VNFD. The value is copied
                        from the VNFD.
                      type: string
                    vnfProductName:
                      description: >
                        Name to identify the VNF Product. The value is copied
                        from the VNFD.
                      type: string
                    vnfSoftwareVersion:
                      description: |
                        A Version. Representation: string of variable length.
                      type: string
                    vnfdVersion:
                      description: |
                        A Version. Representation: string of variable length.
                      type: string
                    vnfPkgId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfConfigurableProperties:
                      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
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    instantiationState:
                      description: >
                        The instantiation state of the VNF.

                        Permitted values: - NOT_INSTANTIATED: The VNF instance
                        is terminated or not instantiated. - INSTANTIATED: The
                        VNF instance is instantiated.
                      type: string
                      enum:
                        - NOT_INSTANTIATED
                        - INSTANTIATED
                    instantiatedVnfInfo:
                      description: >
                        Information specific to an instantiated VNF instance.
                        This attribute shall be present if the instantiateState
                        attribute value is INSTANTIATED.
                      type: object
                      required:
                        - flavourId
                        - vnfState
                        - extCpInfo
                      properties:
                        flavourId:
                          description: >
                            Identifier of the VNF Virtual Link Descriptor (VLD)
                            in the VNFD.
                          type: string
                        vnfState:
                          type: string
                          enum:
                            - STARTED
                            - STOPPED
                        scaleStatus:
                          description: >
                            Scale status of the VNF, one entry per aspect.
                            Represents for every scaling aspect how "big" the
                            VNF has been scaled w.r.t. that aspect.
                          type: array
                          items:
                            required:
                              - aspectId
                              - scaleLevel
                            type: object
                            properties:
                              aspectId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              scaleLevel:
                                description: >
                                  Indicates the scale level. The minimum value
                                  shall be 0 and the maximum value shall be <=
                                  maxScaleLevel as described in the VNFD.
                                type: integer
                        maxScaleLevels:
                          description: >
                            Maximum allowed scale levels of the VNF, one entry
                            per aspect. This attribute shall be present if the
                            VNF supports scaling.
                          type: array
                          items:
                            required:
                              - aspectId
                              - scaleLevel
                            type: object
                            properties:
                              aspectId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              scaleLevel:
                                description: >
                                  Indicates the scale level. The minimum value
                                  shall be 0 and the maximum value shall be <=
                                  maxScaleLevel as described in the VNFD.
                                type: integer
                        extCpInfo:
                          description: >
                            Information about the external CPs exposed by the
                            VNF instance. When trunking is enabled, the list of
                            entries includes both, external CPs corresponding to
                            parent ports of a trunk, and external CPs associated
                            to sub-ports of a trunk.
                          type: array
                          minItems: 1
                          items:
                            description: "This type represents information about an external CP of a VNF. It shall comply  with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n"
                            type: object
                            required:
                              - id
                              - cpdId
                            oneOf:
                              - required:
                                  - associatedVnfcCpId
                              - required:
                                  - associatedVnfVirtualLinkId
                            properties:
                              id:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              cpdId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              cpConfigId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              cpProtocolInfo:
                                description: |
                                  Network protocol information for this CP.
                                type: array
                                minItems: 1
                                items:
                                  description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                  type: object
                                  required:
                                    - layerProtocol
                                    - ipOverEthernet
                                  properties:
                                    layerProtocol:
                                      description: >
                                        The identifier of layer(s) and
                                        protocol(s) associated to the network
                                        address information. Permitted values:
                                          - IP_OVER_ETHERNET

                                        See note.
                                      type: string
                                      enum:
                                        - IP_OVER_ETHERNET
                                    ipOverEthernet:
                                      description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - macAddress
                                        - required:
                                            - ipAddresses
                                      properties:
                                        macAddress:
                                          description: >
                                            A MAC address. Representation: string
                                            that consists of groups of two
                                            hexadecimal digits, separated by hyphens
                                            or colons.
                                          type: string
                                          format: MAC
                                        segmentationId:
                                          description: >
                                            Identification of the network segment to
                                            which the Cp instance connects to. See
                                            note 3 and note 4.
                                          type: string
                                        ipAddresses:
                                          description: >
                                            Addresses assigned to the CP instance.
                                            Each entry represents IP addresses
                                            assigned by fixed or dynamic IP address
                                            assignment per subnet. See note 1.
                                          type: array
                                          items:
                                            type: object
                                            required:
                                              - type
                                            oneOf:
                                              - required:
                                                  - addresses
                                              - required:
                                                  - addressRange
                                            properties:
                                              type:
                                                description: >
                                                  The type of the IP addresses. Permitted
                                                  values: - IPV4 - IPV6
                                                type: string
                                                enum:
                                                  - IPV4
                                                  - IPV6
                                              addresses:
                                                description: >
                                                  Fixed addresses assigned (from the
                                                  subnet defined by "subnetId" if
                                                  provided). See note 2.
                                                type: array
                                                items:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                              isDynamic:
                                                description: >
                                                  Indicates whether this set of addresses
                                                  was assigned dynamically (true) or based
                                                  on address information provided as input
                                                  from the API consumer (false). Shall be
                                                  present if "addresses" is present and
                                                  shall be absent otherwise.
                                                type: boolean
                                              addressRange:
                                                description: >
                                                  An IP address range used, e.g., in case
                                                  of egress connections. Exactly one of
                                                  "addresses" or "addressRange" shall be
                                                  present. See note 2.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                        type:
                                          description: |
                                            The type of the IP addresses
                                          type: string
                                          enum:
                                            - PV4
                                            - PV6
                                        addresses:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        isDynamic:
                                          description: >
                                            Indicates whether this set of addresses
                                            was assigned dynamically (true) or based
                                            on address information provided as input
                                            from the API consumer (false). Shall be
                                            present if "addresses" is present and
                                            shall be absent otherwise.
                                          type: boolean
                                        addressRange:
                                          description: >
                                            An IP address range used, e.g. in case
                                            of egress connections. See note.
                                          type: object
                                          required:
                                            - minAddress
                                            - maxAddress
                                          properties:
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                        minAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        maxAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        subnetId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                              extLinkPortId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                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
                              associatedVnfcCpId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              associatedVipCpId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              associatedVnfVirtualLinkId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                        vipCpInfo:
                          description: >
                            VIP CPs that are part of the VNF instance. Shall be
                            present when that particular VIP CP of the VNFC
                            instance is associated to an external CP of the VNF
                            instance. May be present otherwise.
                          type: array
                          items:
                            description: >
                              This type provides information related to virtual
                              IP (VIP) CP. It shall comply with the provisions
                              defined in table 6.5.3.97 1. NOTE:   It is
                              possible that there is no associated VnfcCp
                              because the VIP CP is available but not associated
                              yet.
                            type: object
                            required:
                              - cpInstanceId
                              - cpdId
                            properties:
                              cpInstanceId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              cpdId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfExtCpId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              cpProtocolInfo:
                                description: >
                                  Protocol information for this CP. There shall
                                  be one cpProtocolInfo for layer 3. There may
                                  be one cpProtocolInfo for layer 2.
                                type: array
                                items:
                                  description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                  type: object
                                  required:
                                    - layerProtocol
                                    - ipOverEthernet
                                  properties:
                                    layerProtocol:
                                      description: >
                                        The identifier of layer(s) and
                                        protocol(s) associated to the network
                                        address information. Permitted values:
                                          - IP_OVER_ETHERNET

                                        See note.
                                      type: string
                                      enum:
                                        - IP_OVER_ETHERNET
                                    ipOverEthernet:
                                      description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - macAddress
                                        - required:
                                            - ipAddresses
                                      properties:
                                        macAddress:
                                          description: >
                                            A MAC address. Representation: string
                                            that consists of groups of two
                                            hexadecimal digits, separated by hyphens
                                            or colons.
                                          type: string
                                          format: MAC
                                        segmentationId:
                                          description: >
                                            Identification of the network segment to
                                            which the Cp instance connects to. See
                                            note 3 and note 4.
                                          type: string
                                        ipAddresses:
                                          description: >
                                            Addresses assigned to the CP instance.
                                            Each entry represents IP addresses
                                            assigned by fixed or dynamic IP address
                                            assignment per subnet. See note 1.
                                          type: array
                                          items:
                                            type: object
                                            required:
                                              - type
                                            oneOf:
                                              - required:
                                                  - addresses
                                              - required:
                                                  - addressRange
                                            properties:
                                              type:
                                                description: >
                                                  The type of the IP addresses. Permitted
                                                  values: - IPV4 - IPV6
                                                type: string
                                                enum:
                                                  - IPV4
                                                  - IPV6
                                              addresses:
                                                description: >
                                                  Fixed addresses assigned (from the
                                                  subnet defined by "subnetId" if
                                                  provided). See note 2.
                                                type: array
                                                items:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                              isDynamic:
                                                description: >
                                                  Indicates whether this set of addresses
                                                  was assigned dynamically (true) or based
                                                  on address information provided as input
                                                  from the API consumer (false). Shall be
                                                  present if "addresses" is present and
                                                  shall be absent otherwise.
                                                type: boolean
                                              addressRange:
                                                description: >
                                                  An IP address range used, e.g., in case
                                                  of egress connections. Exactly one of
                                                  "addresses" or "addressRange" shall be
                                                  present. See note 2.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                        type:
                                          description: |
                                            The type of the IP addresses
                                          type: string
                                          enum:
                                            - PV4
                                            - PV6
                                        addresses:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        isDynamic:
                                          description: >
                                            Indicates whether this set of addresses
                                            was assigned dynamically (true) or based
                                            on address information provided as input
                                            from the API consumer (false). Shall be
                                            present if "addresses" is present and
                                            shall be absent otherwise.
                                          type: boolean
                                        addressRange:
                                          description: >
                                            An IP address range used, e.g. in case
                                            of egress connections. See note.
                                          type: object
                                          required:
                                            - minAddress
                                            - maxAddress
                                          properties:
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                        minAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        maxAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        subnetId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                              associatedVnfcCpIds:
                                description: >
                                  Identifiers of the VnfcCps that share the
                                  virtual IP addresse allocated to the VIP CP
                                  instance. See note.
                                type: array
                                items:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                              vnfLinkPortId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              metadata:
                                description: >
                                  Allows the OSS/BSS to provide additional
                                  parameter(s) to the termination process at the
                                  NS level.
                                type: array
                                items:
                                  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
                        extVirtualLinkInfo:
                          description: >
                            Information about the external VLs the VNF instance
                            is connected to.
                          type: array
                          items:
                            type: object
                            required:
                              - id
                              - resourceHandle
                            properties:
                              id:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceHandle:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              extLinkPorts:
                                description: |
                                  Link ports of this VL.
                                type: array
                                items:
                                  description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                  type: object
                                  required:
                                    - id
                                    - resourceHandle
                                  properties:
                                    id:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceHandle:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    cpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    secondaryCpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    trunkResourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                              currentVnfExtCpData:
                                description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                type: object
                                required:
                                  - cpdId
                                properties:
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  cpConfig:
                                    description: >
                                      Map of instance data that need to be
                                      configured on the CP instances  created
                                      from the respective CPD. The key of the
                                      map which identifies  the individual
                                      VnfExtCpConfig entries is of type
                                      "IdentifierInVnf"  and is managed by the
                                      API consumer. The entries shall be applied
                                      by  the VNFM according to the rules of
                                      JSON Merge Patch (see IETF RFC 7396
                                      [11]).  See notes 2, 3 and 4.
                                    type: object
                                    additionalProperties:
                                      description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                      type: object
                                      anyOf:
                                        - required:
                                            - linkPortId
                                        - required:
                                            - cpProtocolData
                                      properties:
                                        parentCpConfigId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        linkPortId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        createExtLinkPort:
                                          description: >
                                            Indicates the need to create a dedicated
                                            link port for the external CP. If set to
                                            True, a link port is created. If set to
                                            False, no link port is created. This
                                            attribute is only applicable for
                                            external CP instances without a floating
                                            IP address that expose a VIP CP instance
                                            for which a dedicated IP address is
                                            allocated. It shall be present in that
                                            case and shall be absent otherwise.
                                          type: boolean
                                        cpProtocolData:
                                          description: >
                                            Parameters for configuring the network
                                            protocols on the link port that connects
                                            the CP to a VL. See note 1.
                                          type: array
                                          items:
                                            description: >
                                              This type represents network protocol
                                              data.
                                            type: object
                                            required:
                                              - layerProtocol
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  Identifier of layer(s) and protocol(s).
                                                  Permitted values: IP_OVER_ETHERNET.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                              ipOverEthernet:
                                                description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                type: object
                                                anyOf:
                                                  - required:
                                                      - ipAddresses
                                                  - required:
                                                      - macAddress
                                                properties:
                                                  macAddress:
                                                    description: >
                                                      A MAC address. Representation: string
                                                      that consists of groups of two
                                                      hexadecimal digits, separated by hyphens
                                                      or colons.
                                                    type: string
                                                    format: MAC
                                                  segmentationType:
                                                    description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                    type: string
                                                    enum:
                                                      - VLAN
                                                      - INHERIT
                                                  segmentationId:
                                                    description: >
                                                      Identification of the network segment to
                                                      which the CP instance connects to. See
                                                      note 3 and note 4.
                                                    type: string
                                                  ipAddresses:
                                                    description: >
                                                      List of IP addresses to assign to the CP
                                                      instance. Each entry represents IP
                                                      address data for fixed or dynamic IP
                                                      address assignment per subnet. If this
                                                      attribute is not present, no IP address
                                                      shall be assigned. See note 1.
                                                    type: array
                                                    items:
                                                      type: object
                                                      required:
                                                        - type
                                                      oneOf:
                                                        - required:
                                                            - fixedAddresses
                                                        - required:
                                                            - numDynamicAddresses
                                                        - required:
                                                            - addressRange
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values:
                                                              - IPV4
                                                              - IPV6
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        fixedAddresses:
                                                          description: >
                                                            Fixed addresses to assign (from the
                                                            subnet defined by "subnetId" if
                                                            provided). Exactly one of
                                                            "fixedAddresses", "numDynamicAddresses"
                                                            or "ipAddressRange" shall be present.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                        numDynamicAddresses:
                                                          description: >
                                                            Number of dynamic addresses to assign
                                                            (from the subnet defined by "subnetId"
                                                            if provided). See note 2.
                                                          type: integer
                                                        addressRange:
                                                          description: >
                                                            An IP address range to be used, e.g. in
                                                            case of egress connections. In case this
                                                            attribute is present, IP addresses from
                                                            the range will be used.
                                                          type: object
                                                          required:
                                                            - minAddress
                                                            - maxAddress
                                                          properties:
                                                            minAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                            maxAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                        subnetId:
                                                          description: >
                                                            An identifier maintained by the VIM or
                                                            other resource provider. It is expected
                                                            to be unique within the VIM instance.
                                                            Representation: string of variable
                                                            length.
                                                          type: string
                        extManagedVirtualLinkInfo:
                          description: >
                            Information about the externally-managed internal
                            VLs of the VNF instance.  See note 4 and note 5.
                          type: array
                          items:
                            type: object
                            required:
                              - id
                              - vnfVirtualLinkDescId
                            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
                              vnfVirtualLinkDescId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              networkResource:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              vnfLinkPorts:
                                description: |
                                  Link ports of this VL.
                                type: array
                                items:
                                  type: object
                                  description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                  required:
                                    - id
                                    - resourceHandle
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    resourceHandle:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    cpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpInstanceType:
                                      description: >
                                        Type of the CP instance that is
                                        identified by cpInstanceId. Shall be
                                        present if "cpInstanceId" is present,
                                        and shall be absent otherwise. Permitted
                                        values: * VNFC_CP: The link port is
                                        connected to a VNFC CP * EXT_CP: The
                                        link port is associated to an external
                                        CP. See note 1.
                                      type: string
                                      enum:
                                        - VNFC_CP
                                        - EXT_CP
                                    vipCpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    trunkResourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                              extManagedMultisiteVirtualLinkId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                        monitoringParameters:
                          description: >
                            Performance metrics tracked by the VNFM (e.g. for 
                            auto-scaling purposes) as identified by the VNF 
                            provider in the VNFD.
                          type: array
                          items:
                            description: >
                              This type represents a monitoring parameter that
                              is tracked by the VNFM, for example,  for
                              auto-scaling purposes. It shall comply with the
                              provisions defined in Table 6.5.3.69-1.
                            type: object
                            required:
                              - id
                              - performanceMetric
                            properties:
                              id:
                                description: >
                                  An identifier that is unique within a NS
                                  descriptor. Representation: string of variable
                                  length.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              name:
                                description: >
                                  Human readable name of the monitoring
                                  parameter, as defined in the VNFD.
                                type: string
                              performanceMetric:
                                description: >
                                  Performance metric that is monitored. This
                                  attribute shall contain the related 
                                  "Measurement Name" value as defined in clause
                                  7.2 of ETSI GS NFV-IFA 027.
                                type: string
                        localizationLanguage:
                          description: >
                            Information about localization language of the VNF
                            (includes e.g. strings in the VNFD). The
                            localization languages supported by a VNF can be
                            declared in the VNFD, and localization language
                            selection can take place at instantiation time. The
                            value shall comply with the format defined in IETF
                            RFC 5646.
                          type: string
                        vnfcResourceInfo:
                          description: >
                            Information about the virtualised compute and
                            storage resources used by the VNFCs of the VNF
                            instance.
                          type: array
                          items:
                            description: "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n"
                            type: object
                            required:
                              - id
                              - vduId
                              - computeResource
                            properties:
                              id:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vduId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              computeResource:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              storageResourceIds:
                                description: >
                                  References to the VirtualStorage resources.
                                  The value refers to a
                                  VirtualStorageResourceInfo item in the
                                  VnfInstance.
                                type: array
                                items:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                              reservationId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfcCpInfo:
                                description: >
                                  CPs of the VNFC instance. Shall be present
                                  when that particular CP of the VNFC instance
                                  is exposed as an external CP of the VNF
                                  instance or is connected to an external CP of
                                  the VNF instance.See note 2. May be present
                                  otherwise.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - id
                                    - cpdId
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpdId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    vnfExtCpId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpProtocolInfo:
                                      description: >
                                        Network protocol information for this
                                        CP. May be omitted if the VNFC CP is
                                        exposed as an external CP. See note 3.
                                      type: array
                                      items:
                                        description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                        type: object
                                        required:
                                          - layerProtocol
                                          - ipOverEthernet
                                        properties:
                                          layerProtocol:
                                            description: >
                                              The identifier of layer(s) and
                                              protocol(s) associated to the network
                                              address information. Permitted values:
                                                - IP_OVER_ETHERNET

                                              See note.
                                            type: string
                                            enum:
                                              - IP_OVER_ETHERNET
                                          ipOverEthernet:
                                            description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                            type: object
                                            anyOf:
                                              - required:
                                                  - macAddress
                                              - required:
                                                  - ipAddresses
                                            properties:
                                              macAddress:
                                                description: >
                                                  A MAC address. Representation: string
                                                  that consists of groups of two
                                                  hexadecimal digits, separated by hyphens
                                                  or colons.
                                                type: string
                                                format: MAC
                                              segmentationId:
                                                description: >
                                                  Identification of the network segment to
                                                  which the Cp instance connects to. See
                                                  note 3 and note 4.
                                                type: string
                                              ipAddresses:
                                                description: >
                                                  Addresses assigned to the CP instance.
                                                  Each entry represents IP addresses
                                                  assigned by fixed or dynamic IP address
                                                  assignment per subnet. See note 1.
                                                type: array
                                                items:
                                                  type: object
                                                  required:
                                                    - type
                                                  oneOf:
                                                    - required:
                                                        - addresses
                                                    - required:
                                                        - addressRange
                                                  properties:
                                                    type:
                                                      description: >
                                                        The type of the IP addresses. Permitted
                                                        values: - IPV4 - IPV6
                                                      type: string
                                                      enum:
                                                        - IPV4
                                                        - IPV6
                                                    addresses:
                                                      description: >
                                                        Fixed addresses assigned (from the
                                                        subnet defined by "subnetId" if
                                                        provided). See note 2.
                                                      type: array
                                                      items:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                    isDynamic:
                                                      description: >
                                                        Indicates whether this set of addresses
                                                        was assigned dynamically (true) or based
                                                        on address information provided as input
                                                        from the API consumer (false). Shall be
                                                        present if "addresses" is present and
                                                        shall be absent otherwise.
                                                      type: boolean
                                                    addressRange:
                                                      description: >
                                                        An IP address range used, e.g., in case
                                                        of egress connections. Exactly one of
                                                        "addresses" or "addressRange" shall be
                                                        present. See note 2.
                                                      type: object
                                                      required:
                                                        - minAddress
                                                        - maxAddress
                                                      properties:
                                                        minAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        maxAddress:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                    subnetId:
                                                      description: >
                                                        An identifier maintained by the VIM or
                                                        other resource provider. It is expected
                                                        to be unique within the VIM instance.
                                                        Representation: string of variable
                                                        length.
                                                      type: string
                                              type:
                                                description: |
                                                  The type of the IP addresses
                                                type: string
                                                enum:
                                                  - PV4
                                                  - PV6
                                              addresses:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              isDynamic:
                                                description: >
                                                  Indicates whether this set of addresses
                                                  was assigned dynamically (true) or based
                                                  on address information provided as input
                                                  from the API consumer (false). Shall be
                                                  present if "addresses" is present and
                                                  shall be absent otherwise.
                                                type: boolean
                                              addressRange:
                                                description: >
                                                  An IP address range used, e.g. in case
                                                  of egress connections. See note.
                                                type: object
                                                required:
                                                  - minAddress
                                                  - maxAddress
                                                properties:
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              subnetId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                    parentCpId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    vnfLinkPortId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      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
                              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
                        vnfVirtualLinkResourceInfo:
                          description: >
                            Information about the virtualised network resources
                            used by the VLs of the VNF instance. See note 5.
                          type: array
                          items:
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              an internal VL instance in a VNF instance.
                            type: object
                            required:
                              - id
                              - vnfVirtualLinkDescId
                              - networkResource
                            properties:
                              id:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfVirtualLinkDescId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              networkResource:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              reservationId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfLinkPorts:
                                description: >
                                  Links ports of this VL. Shall be present when
                                  the linkPort is used for external connectivity
                                  by the VNF (refer to VnfLinkPortInfo). May be
                                  present otherwise.
                                type: array
                                items:
                                  type: object
                                  description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                  required:
                                    - id
                                    - resourceHandle
                                  properties:
                                    id:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    resourceHandle:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    cpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    cpInstanceType:
                                      description: >
                                        Type of the CP instance that is
                                        identified by cpInstanceId. Shall be
                                        present if "cpInstanceId" is present,
                                        and shall be absent otherwise. Permitted
                                        values: * VNFC_CP: The link port is
                                        connected to a VNFC CP * EXT_CP: The
                                        link port is associated to an external
                                        CP. See note 1.
                                      type: string
                                      enum:
                                        - VNFC_CP
                                        - EXT_CP
                                    vipCpInstanceId:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                    trunkResourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      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
                        virtualStorageResourceInfo:
                          description: >
                            Information on the virtualised storage resource(s)
                            used as storage for the VNF instance.
                          type: array
                          items:
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance.
                            type: object
                            required:
                              - id
                              - virtualStorageDescId
                              - storageResource
                            properties:
                              id:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              virtualStorageDescId:
                                description: >
                                  Identifier of the VNF Virtual Link Descriptor
                                  (VLD) in the VNFD.
                                type: string
                              vnfdId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              storageResource:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    type: string
                              reservationId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                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
                    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
                    extensions:
                      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
              pnfInfo:
                description: |
                  Information on the PNF(s) that are part of the NS instance.
                type: array
                items:
                  description: >
                    This type represents the information about a PNF that is
                    part of an NS instance.  It shall comply with the provisions
                    defined in Table 6.5.3.13-1.
                  type: object
                  required:
                    - pnfId
                    - pnfdId
                    - pnfdInfoId
                    - pnfProfileId
                  properties:
                    pnfId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfName:
                      description: |
                        Name of the PNF.
                      type: string
                    pnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfdInfoId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    pnfProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    cpInfo:
                      description: >
                        This type represents the information about the external
                        CP of the PNF.  It shall comply with the provisions
                        defined in Table 6.5.3.17-1.
                      type: object
                      required:
                        - cpInstanceId
                        - cpdId
                      properties:
                        cpInstanceId:
                          description: >
                            An Identifier that is unique within respect to a
                            PNF. Representation: string of variable length.
                          type: string
                        cpdId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        cpProtocolData:
                          description: >
                            Parameters for configuring the network protocols on
                            the CP.
                          type: array
                          items:
                            description: |
                              This type represents network protocol data.
                            type: object
                            required:
                              - layerProtocol
                            properties:
                              layerProtocol:
                                description: >
                                  Identifier of layer(s) and protocol(s).
                                  Permitted values: IP_OVER_ETHERNET.
                                type: string
                                enum:
                                  - IP_OVER_ETHERNET
                              ipOverEthernet:
                                description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                type: object
                                anyOf:
                                  - required:
                                      - ipAddresses
                                  - required:
                                      - macAddress
                                properties:
                                  macAddress:
                                    description: >
                                      A MAC address. Representation: string that
                                      consists of groups of two hexadecimal
                                      digits, separated by hyphens or colons.
                                    type: string
                                    format: MAC
                                  segmentationType:
                                    description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                    type: string
                                    enum:
                                      - VLAN
                                      - INHERIT
                                  segmentationId:
                                    description: >
                                      Identification of the network segment to
                                      which the CP instance connects to. See
                                      note 3 and note 4.
                                    type: string
                                  ipAddresses:
                                    description: >
                                      List of IP addresses to assign to the CP
                                      instance. Each entry represents IP address
                                      data for fixed or dynamic IP address
                                      assignment per subnet. If this attribute
                                      is not present, no IP address shall be
                                      assigned. See note 1.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - type
                                      oneOf:
                                        - required:
                                            - fixedAddresses
                                        - required:
                                            - numDynamicAddresses
                                        - required:
                                            - addressRange
                                      properties:
                                        type:
                                          description: >
                                            The type of the IP addresses. Permitted
                                            values:
                                              - IPV4
                                              - IPV6
                                          type: string
                                          enum:
                                            - IPV4
                                            - IPV6
                                        fixedAddresses:
                                          description: >
                                            Fixed addresses to assign (from the
                                            subnet defined by "subnetId" if
                                            provided). Exactly one of
                                            "fixedAddresses", "numDynamicAddresses"
                                            or "ipAddressRange" shall be present.
                                          type: array
                                          items:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                        numDynamicAddresses:
                                          description: >
                                            Number of dynamic addresses to assign
                                            (from the subnet defined by "subnetId"
                                            if provided). See note 2.
                                          type: integer
                                        addressRange:
                                          description: >
                                            An IP address range to be used, e.g. in
                                            case of egress connections. In case this
                                            attribute is present, IP addresses from
                                            the range will be used.
                                          type: object
                                          required:
                                            - minAddress
                                            - maxAddress
                                          properties:
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                        subnetId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
              virtualLinkInfo:
                description: >
                  Information on the VL(s) of the NS instance. This attribute
                  shall be present if the nsState attribute value is
                  INSTANTIATED and if the NS instance has specified
                  connectivity.
                type: array
                items:
                  description: "This type specifies the information about an NS VL instance.  It shall comply with the provisions defined in Table 6.5.3.53-1.\nNOTE:\tAs an NS can include NFs deployed in NFVI PoPs under the control of several different VIMs, therefore deploying an NS VL can involve several VIMs, each allocating different virtualised network resources, as well as WIMs handling the connectivity in between the NFVI-PoPs in the form of multi-site connectivity services. When this NsVirtualLink is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtVirtualLink shall be the same as the corresponding NsVirtualLink.\n"
                  type: object
                  required:
                    - id
                    - nsVirtualLinkDescId
                    - nsVirtualLinkProfileId
                  properties:
                    id:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    nsVirtualLinkDescId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    nsVirtualLinkProfileId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    resourceHandle:
                      description: >
                        Identifier(s) of the virtualised network resource(s)
                        and/or multi-site connectivity service(s) realizing the
                        VL instance. See note.
                      type: array
                      items:
                        description: >
                          This type represents the information that allows
                          addressing a virtualised resource that is used by a
                          VNF instance or by an NS instance. Information about
                          the resource is available from the VIM. NOTE: The
                          value set of the "vimLevelResourceType" attribute is
                          within the scope of the VIM, the WIM or the resource
                          provider and can be used as information that
                          complements the ResourceHandle.
                        type: object
                        required:
                          - resourceId
                        properties:
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceProviderId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceId:
                            description: >
                              An identifier maintained by the VIM or other
                              resource provider. It is expected to be unique
                              within the VIM instance. Representation: string of
                              variable length.
                            type: string
                          vimLevelResourceType:
                            description: >
                              Type of the resource in the scope of the VIM, the
                              WIM or the resource provider. The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM, the WIM or the resource provider
                              and can be used as information that complements
                              the ResourceHandle. See note.
                            type: string
                    linkPort:
                      description: >
                        Link ports of the VL instance. Cardinality of zero
                        indicates that no port has yet been created for the VL
                        instance.
                      type: array
                      items:
                        description: "This type represents information about a link port of a VL instance. It shall comply with the provisions defined in Table 6.5.3.55-1. NOTE:\tWhen the NsVirtualLink, from which the present NsLinkPort is part of, is provided as an ExtVirtualLink as input of a VNF LCM operation, the id of the ExtLinkPort shall be the same as the corresponding NsLinkPort.\n"
                        type: object
                        required:
                          - id
                          - resourceHandle
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance or by an NS instance. Information
                              about the resource is available from the VIM.
                              NOTE: The value set of the "vimLevelResourceType"
                              attribute is within the scope of the VIM, the WIM
                              or the resource provider and can be used as
                              information that complements the ResourceHandle.
                            type: object
                            required:
                              - resourceId
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceProviderId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceId:
                                description: >
                                  An identifier maintained by the VIM or other
                                  resource provider. It is expected to be unique
                                  within the VIM instance. Representation:
                                  string of variable length.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM,
                                  the WIM or the resource provider. The value
                                  set of the "vimLevelResourceType" attribute is
                                  within the scope of the VIM, the WIM or the
                                  resource provider and can be used as
                                  information that complements the
                                  ResourceHandle. See note.
                                type: string
                          nsCpHandle:
                            description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                            type: object
                            oneOf:
                              - required:
                                  - vnfInstanceId
                                  - vnfExtCpInstanceId
                              - required:
                                  - pnfInfoId
                                  - pnfExtCpInstanceId
                              - required:
                                  - nsInstanceId
                                  - nsSapInstanceId
                            properties:
                              vnfInstanceId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vnfExtCpInstanceId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              pnfInfoId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              pnfExtCpInstanceId:
                                description: >
                                  An Identifier that is unique within respect to
                                  a PNF. Representation: string of variable
                                  length.
                                type: string
                              nsInstanceId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              nsSapInstanceId:
                                description: >
                                  An identifier that is unique with respect to a
                                  NS. Representation: string of variable length.
                                type: string
              vnffgInfo:
                description: |
                  Information on the VNFFG(s) of the NS instance.
                type: array
                items:
                  description: "Information on the VNFFG(s) of the NS instance. NOTE:\tIt indicates an exhaustive list of all the CP instances and SAP instances of the VNFFG.\n"
                  type: object
                  required:
                    - id
                    - vnffgdId
                    - vnfInstanceId
                    - pnfInfoId
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnffgdId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    vnfInstanceId:
                      description: >
                        Identifier(s) of the constituent VNF instance(s) of this
                        VNFFG instance.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    pnfdInfoId:
                      description: >
                        Identifier(s) of the constituent PNF instance(s) of this
                        VNFFG instance.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    nsVirtualLinkInfoId:
                      description: >
                        Identifier(s) of the constituent VL instance(s) of this
                        VNFFG instance.
                      type: array
                      items:
                        description: >
                          An identifier that is unique with respect to a NS.
                          Representation: string of variable length.
                        type: string
                    nsCpHandle:
                      description: "This type represents an identifier of the CP or SAP instance.  It shall comply with the provisions defined in Table 6.5.3.56-1. NOTE 1:\tFor the VNF external CP instance, both vnfInstanceId and vnfExtCpInstanceId shall be present as a pair. NOTE 2:\tFor the PNF external CP instance, both pnfInfoId and PnfExtCpInstanceId shall be present as a pair. NOTE 3:\tFor the SAP instance, both nsInstanceId and nsSapInstanceId shall be present as a pair. NOTE 4:\tOne pair of identifiers (VNF external CP, PNF external CP or SAP) shall be present.\n"
                      type: object
                      oneOf:
                        - required:
                            - vnfInstanceId
                            - vnfExtCpInstanceId
                        - required:
                            - pnfInfoId
                            - pnfExtCpInstanceId
                        - required:
                            - nsInstanceId
                            - nsSapInstanceId
                      properties:
                        vnfInstanceId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfExtCpInstanceId:
                          description: >
                            An identifier that is unique for the respective type
                            within a VNF instance, but may not be globally
                            unique.
                          type: string
                        pnfInfoId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        pnfExtCpInstanceId:
                          description: >
                            An Identifier that is unique within respect to a
                            PNF. Representation: string of variable length.
                          type: string
                        nsInstanceId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        nsSapInstanceId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
              sapInfo:
                description: |
                  Information on the SAP(s) of the NS instance.
                type: array
                items:
                  description: >
                    This type represents an SAP instance. It shall comply with
                    the provisions defined in Table 6.5.3.67-1.
                  type: object
                  required:
                    - id
                    - sapdId
                    - sapName
                    - sapProtocolInfo
                  properties:
                    id:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    sapdId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    sapName:
                      description: |
                        Human readable name for the SAP instance.
                      type: string
                    description:
                      description: |
                        Human readable description for the SAP instance.
                      type: string
                    sapProtocolInfo:
                      description: |
                        Network protocol information for this SAP.
                      type: array
                      items:
                        description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                        type: object
                        required:
                          - layerProtocol
                          - ipOverEthernet
                        properties:
                          layerProtocol:
                            description: >
                              The identifier of layer(s) and protocol(s)
                              associated to the network address information.
                              Permitted values:
                                - IP_OVER_ETHERNET

                              See note.
                            type: string
                            enum:
                              - IP_OVER_ETHERNET
                          ipOverEthernet:
                            description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                            type: object
                            anyOf:
                              - required:
                                  - macAddress
                              - required:
                                  - ipAddresses
                            properties:
                              macAddress:
                                description: >
                                  A MAC address. Representation: string that
                                  consists of groups of two hexadecimal digits,
                                  separated by hyphens or colons.
                                type: string
                                format: MAC
                              segmentationId:
                                description: >
                                  Identification of the network segment to which
                                  the Cp instance connects to. See note 3 and
                                  note 4.
                                type: string
                              ipAddresses:
                                description: >
                                  Addresses assigned to the CP instance. Each
                                  entry represents IP addresses assigned by
                                  fixed or dynamic IP address assignment per
                                  subnet. See note 1.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - type
                                  oneOf:
                                    - required:
                                        - addresses
                                    - required:
                                        - addressRange
                                  properties:
                                    type:
                                      description: >
                                        The type of the IP addresses. Permitted
                                        values: - IPV4 - IPV6
                                      type: string
                                      enum:
                                        - IPV4
                                        - IPV6
                                    addresses:
                                      description: >
                                        Fixed addresses assigned (from the
                                        subnet defined by "subnetId" if
                                        provided). See note 2.
                                      type: array
                                      items:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                    isDynamic:
                                      description: >
                                        Indicates whether this set of addresses
                                        was assigned dynamically (true) or based
                                        on address information provided as input
                                        from the API consumer (false). Shall be
                                        present if "addresses" is present and
                                        shall be absent otherwise.
                                      type: boolean
                                    addressRange:
                                      description: >
                                        An IP address range used, e.g., in case
                                        of egress connections. Exactly one of
                                        "addresses" or "addressRange" shall be
                                        present. See note 2.
                                      type: object
                                      required:
                                        - minAddress
                                        - maxAddress
                                      properties:
                                        minAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        maxAddress:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                    subnetId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                              type:
                                description: |
                                  The type of the IP addresses
                                type: string
                                enum:
                                  - PV4
                                  - PV6
                              addresses:
                                description: >
                                  An IPV4 or IPV6 address. Representation: In
                                  case of an IPV4 address, string that consists
                                  of four decimal integers separated by dots,
                                  each integer ranging from 0 to 255. In case of
                                  an IPV6 address, string that consists of
                                  groups of zero to four hexadecimal digits,
                                  separated by colons.
                                type: string
                                format: IP
                              isDynamic:
                                description: >
                                  Indicates whether this set of addresses was
                                  assigned dynamically (true) or based on
                                  address information provided as input from the
                                  API consumer (false). Shall be present if
                                  "addresses" is present and shall be absent
                                  otherwise.
                                type: boolean
                              addressRange:
                                description: >
                                  An IP address range used, e.g. in case of
                                  egress connections. See note.
                                type: object
                                required:
                                  - minAddress
                                  - maxAddress
                                properties:
                                  minAddress:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  maxAddress:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                              minAddress:
                                description: >
                                  An IPV4 or IPV6 address. Representation: In
                                  case of an IPV4 address, string that consists
                                  of four decimal integers separated by dots,
                                  each integer ranging from 0 to 255. In case of
                                  an IPV6 address, string that consists of
                                  groups of zero to four hexadecimal digits,
                                  separated by colons.
                                type: string
                                format: IP
                              maxAddress:
                                description: >
                                  An IPV4 or IPV6 address. Representation: In
                                  case of an IPV4 address, string that consists
                                  of four decimal integers separated by dots,
                                  each integer ranging from 0 to 255. In case of
                                  an IPV6 address, string that consists of
                                  groups of zero to four hexadecimal digits,
                                  separated by colons.
                                type: string
                                format: IP
                              subnetId:
                                description: >
                                  An identifier maintained by the VIM or other
                                  resource provider. It is expected to be unique
                                  within the VIM instance. Representation:
                                  string of variable length.
                                type: string
              nestedNsInstanceId:
                description: |
                  Identifier of the nested NS(s) of the NS instance. See note.
                type: array
                items:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
              vnfSnapshotInfoIds:
                description: >
                  Identifier of information on VNF snapshots of VNF instances
                  that are part of this NS instance.
                type: array
                items:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
              nsState:
                description: >
                  The state of the NS instance. Permitted values:
                  NOT_INSTANTIATED: The NS instance is terminated or not
                  instantiated. INSTANTIATED: The NS instance is instantiated.
                type: string
                enum:
                  - NOT_INSTANTIATED
                  - INSTANTIATED
              monitoringParameter:
                description: >
                  Performance metrics tracked by the NFVO (e.g. for auto-scaling
                  purposes) as identified by the NS designer in the NSD.
                type: array
                items:
                  description: >
                    This type represents a monitoring parameter that is tracked
                    by the NFVO, for example,  for auto-scaling purposes. It
                    shall comply with the provisions defined in Table
                    6.5.3.68-1.
                  type: object
                  required:
                    - id
                    - performanceMetric
                  properties:
                    id:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    name:
                      description: >
                        Human readable name of the monitoring parameter, as
                        defined in the NSD.
                      type: string
                    performanceMetric:
                      description: >
                        Performance metric that is monitored. This attribute
                        shall contain the related  "Measurement Name" value as
                        defined in clause 7.2 of ETSI GS NFV-IFA 027.
                      type: string
              nsScaleStatus:
                description: >
                  Status of each NS scaling aspect declared in the applicable
                  DF, how "big" the NS instance has been scaled w.r.t. that
                  aspect. This attribute shall be present if the nsState
                  attribute value is INSTANTIATED.
                type: array
                items:
                  description: >
                    This type represents the target NS Scale level for each NS
                    scaling aspect of the current deployment flavor.
                  type: object
                  required:
                    - nsScalingAspectId
                    - nsScaleLevelId
                  properties:
                    nsScalingAspectId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
                    nsScaleLevelId:
                      description: >
                        An identifier that is unique within a NS descriptor.
                        Representation: string of variable length.
                      type: string
              additionalAffinityOrAntiAffinityRule:
                description: >
                  Information on the additional affinity or anti-affinity rule
                  from NS instantiation operation. Shall not conflict with rules
                  already specified in the NSD.
                type: array
                items:
                  description: >
                    This type describes the additional affinity or anti-affinity
                    rule applicable between the VNF instances to be instantiated
                    in the NS instantiation operation request or between the VNF
                    instances to be instantiated in the NS instantiation
                    operation request and the existing VNF instances..
                  type: object
                  required:
                    - affinityOrAntiAffiinty
                    - scope
                  properties:
                    vnfdId:
                      description: >
                        Reference to a VNFD. When the VNFD which is not used to
                        instantiate VNF, it presents all VNF instances of this
                        type as the subjects of the affinity or anti-affinity
                        rule. The VNF instance which the VNFD presents is not
                        necessary as a part of the NS to be instantiated.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    vnfProfileId:
                      description: >
                        Reference to a vnfProfile defined in the NSD. At least
                        one VnfProfile which is used to instantiate VNF for the
                        NS to be instantiated as the subject of the affinity or
                        anti-affinity rule shall be present. When the VnfProfile
                        which is not used to instantiate VNF, it presents all
                        VNF instances of this type as the subjects of the
                        affinity or anti-affinity rule. The VNF instance which
                        the VnfProfile presents is not necessary as a part of
                        the NS to be instantiated.
                      type: array
                      items:
                        description: >
                          An identifier that is unique within a NS descriptor.
                          Representation: string of variable length.
                        type: string
                    vnfInstanceId:
                      description: >
                        Reference to the existing VNF instance as the subject of
                        the affinity or anti-affinity rule. The existing VNF
                        instance is not necessary as a part of the NS to be
                        instantiated.
                      type: array
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    affinityOrAntiAffiinty:
                      description: >
                        The type of the constraint. Permitted values: AFFINITY
                        ANTI_AFFINITY.
                      type: string
                      enum:
                        - AFFINITY
                        - ANTI_AFFINITY
                    scope:
                      description: >
                        Specifies the scope of the rule where the placement
                        constraint applies. Permitted values: NFVI_POP ZONE
                        ZONE_GROUP NFVI_NODE.
                      type: string
                      enum:
                        - NFVI_POP
                        - ZONE
                        - ZONE_GROUP
                        - NFVI_NODE
              wanConnectionInfo:
                description: >
                  Information about WAN related connectivity enabling multi-site
                  VLs.
                type: array
                items:
                  description: "This type provides information about the connectivity to the WAN of network resources realizing a VL, e.g.,\nwhen the VL is deployed on several sites across a WAN. It shall comply with the provisions defined in table 6.5.3.90-1.\nNOTE:\tEither a \"nsVirtualLinkInfoId\" or a \"vnfVirtualLinkResourceInfoId\" shall be provided, but not both.\n"
                  type: object
                  required:
                    - wanConnectionInfoId
                  oneOf:
                    - required:
                        - nsVirtualLinkInfoId
                    - required:
                        - vnfVirtualLinkResourceInfoId
                  properties:
                    wanConnectionInfoId:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    nsVirtualLinkInfoId:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    vnfVirtualLinkResourceInfoId:
                      description: >
                        An identifier that is unique with respect to a NS.
                        Representation: string of variable length.
                      type: string
                    protocolInfo:
                      description: >
                        This type provides protocol specific information about
                        the connectivity to the WAN of network resources
                        realizing

                        a VL, e.g., when the VL is deployed on several sites and
                        across a WAN, and the related multi-site connectivity

                        service (MSCS) enabling the connectivity through the
                        WAN. This type supports providing information about both

                        pre-provisioned WAN connectivity realized by external
                        entities to NFV-MANO but parts of such connectivity is
                        known

                        to the NFVO, as well as information about MSCS created
                        under NFV-MANO responsibility (i.e., connectivity is
                        realized

                        when NFVO communicates with the WIM).  It shall comply
                        with the provisions defined in table 6.5.3.91-1.
                      type: object
                      properties:
                        mscsInfo:
                          description: >
                            This type provides information about an already
                            provisioned multi-site connectivity service (MSCS)
                            deployed across a WAN. It shall comply with the
                            provisions defined in Table 6.5.3.82-1.
                          type: object
                          required:
                            - mscsId
                            - mscsType
                          properties:
                            mscsId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            mscsName:
                              description: |
                                Human readable name of the MSCS.
                              type: string
                            mscsDescription:
                              description: |
                                Human readable description of the MSCS.
                              type: string
                            mscsType:
                              description: "The type of connectivity that is provided to the virtualized networks in the NFVI-PoP and characterizes the connectivity service across the WAN. Permitted values: -\tL2 -\tL3\n"
                              type: string
                              enum:
                                - L2VPN
                                - L3VPN
                            mscsLayerProtocol:
                              description: "Type of underlying connectivity service and protocol associated to the MSCS. Permitted values are as listed below and restricted by the type of MSCS: -\tEVPN_BGP_MPLS: as specified in IETF RFC 7432. Only applicable for mscsType=\"L2\". - EVPN_VPWS: as specified in IETF RFC 8214. Only applicable for mscsType=\"L2\". -\tVPLS_BGP: as specified in IETF RFC 4761 and IETF RFC 6624. Only applicable for mscsType=\"L2\". -\tVPLS_LDP_L2TP: as specified in IETF RFC 4762. Only applicable for mscsType=\"L2\". -\tVPWS_LDP_L2TP: as specified in IETF RFC 6074. Only applicable for mscsType=\"L2\". -\tBGP_IP_VPN: BGP/MPLS based IP VPN as specified in IETF RFC 4364. Only applicable for mscsType=\"L3\".\n"
                              type: string
                              enum:
                                - EVPN_BGP_MPLS
                                - EVPN_VPWS
                                - VPLS_BGP
                                - VPLS_LDP
                                - VPWS
                                - BGP_IP_VPN
                            siteAccessProtectionSchemes:
                              description: >
                                Information to determine the proper MSCS
                                endpoints configuration to fulfil certain
                                resiliency/protection requirements, e.g., by
                                considering certain availability and redundancy
                                of connectivity service endpoints in between
                                NFVI-PoP and WAN.
                              type: array
                              items:
                                type: object
                                properties:
                                  locationConstraints:
                                    description: "This type represents location constraints for a VNF to be instantiated. The location constraints can be represented as follows: •\tas a country code •\tas a civic address combined with a country code •\tas an area, conditionally combined with a country code\nNOTE:\tIf both \"countryCode\" and \"area\" are present, no conflicts should exist between the values of these two attributes. In case of conflicts, the API producer (i.e. the NFVO) shall disregard parts of the geographic area signalled by \"area\" that are outside the boundaries of the country signalled by \"countryCode\". If \"countryCode\" is absent, it is solely the \"area\" attribute that defines the location constraint.\n"
                                    type: object
                                    properties:
                                      countryCode:
                                        description: >
                                          The two-letter ISO 3166 country code in
                                          capital letters. Shall be present in
                                          case the "area" attribute is absent. May
                                          be absent if the "area" attribute is
                                          present (see note).
                                        type: string
                                      civicAddressElement:
                                        description: >
                                          Zero or more elements comprising the
                                          civic address. Shall be absent if the
                                          "area" attribute is present.
                                        type: array
                                        items:
                                          type: object
                                          required:
                                            - caType
                                            - caValue
                                          properties:
                                            caType:
                                              description: >
                                                Describe the content type of caValue.
                                                The value of caType shall comply with
                                                Section 3.4 of IETF RFC 4776 [13].
                                              type: integer
                                            caValue:
                                              description: >
                                                Content of civic address element
                                                corresponding to the caType. The format
                                                caValue shall comply with Section 3.4 of
                                                IETF RFC 4776 [13].
                                              type: string
                                      area:
                                        description: >
                                          Geographic area. Shall be absent if the
                                          "civicAddressElement" attribute is
                                          present. The content of this attribute
                                          shall follow the provisions for the
                                          "Polygon" geometry object as defined in
                                          IETF RFC 7946, for which the "type"
                                          member shall be set to the value
                                          "Polygon". See note.
                                        type: object
                                  protectionScheme:
                                    description: "Defines the protection scheme. Permitted values: -\tUNPROTECTED: to indicate no protection. -\tONE_TO_ONE: to indicate an active-passive access protection. -\tONE_PLUS_ONE: to indicate an active-active access protection. -\tONE_TO_N: to indicate an N active to 1 passive access protection.\n"
                                    type: string
                                    enum:
                                      - UNPROTECTED
                                      - ONE_TO_ONE
                                      - ONE_PLUS_ONE
                                      - ONE_TO_N
                            mtuMscs:
                              description: >
                                Maximum Transmission Unit (MTU) that can be
                                forwarded over the MSCS (in bytes). Default
                                value is "1500" (bytes).
                              type: number
                            mscsEndpoints:
                              description: >
                                Information about the MSCS endpoints of the
                                MSCS.
                              type: array
                              items:
                                description: >
                                  This type provides encapsulates information
                                  about an MSCS endpoint of the MSCS. It shall
                                  comply with the provisions defined in table
                                  6.5.3.83-1.
                                type: object
                                required:
                                  - mscsEndpointId
                                  - directionality
                                  - connectivityServiceEndpoinId
                                properties:
                                  mscsEndpointId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  directionality:
                                    description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                    type: string
                                    enum:
                                      - INBOUND
                                      - OUTBOUND
                                      - BOTH
                                  connectivityServiceEndpoinId:
                                    description: >
                                      References the connectivity service
                                      endpoint configuration information
                                      applicable to support the MSCS endpoint.
                                      More than one connectivity service
                                      endpoint can be referred when endpoints
                                      are in LAG mode.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                        connectivityServiceEndpoints:
                          description: >
                            Configuration information about the network
                            resources in the NFVI-PoP and their connectivity to
                            the WAN.
                          type: array
                          items:
                            description: >
                              This type provides configuration data for the
                              NFVI-PoP network gateway providing connectivity
                              service endpoints. The connectivity service
                              endpoints are used as endpoints by an MSCS. It
                              shall comply with the provisions defined in Table
                              6.5.3.84-1.
                            type: object
                            required:
                              - connectivityServiceEndpointId
                              - vimId
                            properties:
                              connectivityServiceEndpointId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              siteToWanLayer2ProtocolData:
                                description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                type: object
                                required:
                                  - layer2ConnectionInfo
                                properties:
                                  layer2ConnectionInfo:
                                    description: >
                                      Layer 2 protocol parameters of the
                                      connectivity service endpoint (CSE).
                                    type: object
                                    required:
                                      - connectionType
                                      - interfaceType
                                      - interfaceTagging
                                      - encapsulationType
                                    properties:
                                      connectionType:
                                        description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                        type: string
                                        enum:
                                          - CSE
                                          - AGGREGATE_CSE
                                      interfaceType:
                                        description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                        type: string
                                        enum:
                                          - PARENT
                                          - LOGICAL
                                      interfaceTagging:
                                        description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                        type: string
                                        enum:
                                          - UNTAGGED
                                          - TAGGED
                                      encapsulationType:
                                        description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                        type: string
                                        enum:
                                          - ETH
                                          - VLAN
                                          - VXLAN
                                      vlanTaggingType:
                                        description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                        type: string
                                        enum:
                                          - DOT1Q
                                          - QINQ
                                          - QINANY
                                      wanSegmentIds:
                                        description: >
                                          Segment identifiers to pass on the
                                          tagged interface. Shall be present if
                                          encapsulationType="VLAN" or “VXLAN".
                                        type: object
                                        required:
                                          - wanSegmentIdValue
                                        properties:
                                          wanSegmentIdValue:
                                            description: >
                                              Identifier of the network segment (e.g.,
                                              VLAN id or VNI).
                                            type: string
                                          wanSegmentIdUpperRange:
                                            description: >
                                              Identifier of the upper range network
                                              segment, in case the "wanSegmentIds" is
                                              used to define a range.
                                            type: string
                                      vxlanConfig:
                                        description: >
                                          Additional configuration needed when
                                          using VXLAN encapsulation. Shall be
                                          present if interfaceTagging="TAGGED" and
                                          encapsulationType="VXLAN".
                                        type: object
                                        required:
                                          - peerMode
                                        properties:
                                          peerMode:
                                            description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                            type: string
                                            enum:
                                              - STATIC
                                              - BGP_EVPN
                                          peers:
                                            description: >
                                              List of IP addresses of VTEP peers when
                                              using static mode.
                                            type: array
                                            items:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                      lagInterfaceData:
                                        description: >
                                          Information for setting up a LAG
                                          interface aggregating multiple
                                          connectivity service endpoints.
                                        type: object
                                        required:
                                          - aggregatedEndpoints
                                          - lacpActivation
                                          - lacpConfig
                                        properties:
                                          aggregatedEndpoints:
                                            description: >
                                              List of the connectivity service
                                              endpoints that are to be aggregated.
                                              Shall be present if
                                              connectionType="AGGREGATE_CSE". In case
                                              of aggregating connectivity service
                                              endpoints, only one
                                              SiteToWanLayer2ProtocolData shall be
                                              provided for the whole set of aggregated
                                              endpoints.
                                            type: array
                                            items:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                          lacpActivation:
                                            description: >
                                              Indicates whether to activate LACP on
                                              the interface. If "TRUE", the LACP is to
                                              be activated, or "FALSE" otherwise.
                                              Default value is "FALSE".
                                            type: boolean
                                          lacpConfig:
                                            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
                                      layer2ControlProtocol:
                                        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
                                  mtuL2:
                                    description: >
                                      Maximum Transmission Unit (MTU) that can
                                      be forwarded at layer 2 (in bytes).
                                      Default value is "1500" (bytes).
                                    type: number
                                  virtualRoutingAndForwarding:
                                    description: >
                                      Configuration related to the L2 virtual
                                      routing and forwarding (MAC-VRF).
                                    type: object
                                    required:
                                      - macVrfName
                                    properties:
                                      macVrfName:
                                        description: >
                                          Name (or identifier) of the MAC-VRF
                                          instance.
                                        type: string
                                  forwardingConfig:
                                    description: >
                                      Information related to the forwarding of
                                      the VN in the NFVI-PoP to the connectivity
                                      service endpoint, if information about the
                                      VN to "stitch" is already known. . by the
                                      OSS/BSS. Shall not be provided otherwise,
                                      in which case the NFVO will infer the
                                      forwarding configuration based on the NS
                                      VL, or external VL, or externally-managed
                                      VL provisioning.
                                    type: object
                                    oneOf:
                                      - required:
                                          - networkResources
                                      - required:
                                          - vnSegmentIds
                                    properties:
                                      networkResources:
                                        description: >
                                          Reference to the VN resource to be
                                          forwarded into/from the MSCS. See note.
                                        type: array
                                        items:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                      vnSegmentIds:
                                        description: >
                                          Identifiers of the network segments of
                                          the VN resources to be forwarded
                                          into/from the MSCS.
                                        type: object
                                        required:
                                          - vnSegmentIdValue
                                        properties:
                                          vnSegmentIdValue:
                                            description: |
                                              Identifier of the network segment.
                                            type: string
                                          vnSegmentIdUpperRange:
                                            description: >
                                              Identifier of the upper range network
                                              segment, in case the "vnSegmentIds" is
                                              used to define a range.
                                            type: string
                              siteToWanLayer3ProtocolData:
                                description: >
                                  This type provides information about Layer 3
                                  protocol specific information for the
                                  stitching of the intra-site VN to the
                                  multi-site connectivity service over the WAN.
                                  It shall comply with the provisions defined in
                                  Table 6.5.3.86-1.
                                type: object
                                required:
                                  - routingInfo
                                properties:
                                  logicalInterfaceIpAddress:
                                    description: >
                                      IP addressing information associated to a
                                      logical interface. Shall be present if the
                                      "interfaceType" of the
                                      SiteToWanLayer2ProtocolData is equal to
                                      "LOGICAL".
                                    type: object
                                    required:
                                      - ipAddress
                                      - associatedSegmentId
                                    properties:
                                      ipAddress:
                                        description: >
                                          An IPV4 or IPV6 address. Representation:
                                          In case of an IPV4 address, string that
                                          consists of four decimal integers
                                          separated by dots, each integer ranging
                                          from 0 to 255. In case of an IPV6
                                          address, string that consists of groups
                                          of zero to four hexadecimal digits,
                                          separated by colons.
                                        type: string
                                        format: IP
                                      associatedSegmentId:
                                        description: >
                                          The associated segment identifier that
                                          has triggered the creation of the
                                          logical interface. The value shall be
                                          one of the values listed in the
                                          "wanSegmentIds" of the
                                          "siteToWanLayer2ProtocolData".
                                        type: string
                                  routingInfo:
                                    description: >
                                      The routing information that is activated
                                      on the connectivity service endpoint. More
                                      than one "routingInfo" is allowed to
                                      enable stacking different routing
                                      protocols (e.g., one routing protocol for
                                      IPv4 and another one for IPv6).
                                    type: object
                                    required:
                                      - routingProtocol
                                      - routingAddressFamily
                                    properties:
                                      routingProtocol:
                                        description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                        type: string
                                        enum:
                                          - BGP
                                          - RIP
                                          - OSPF
                                          - STATIC
                                          - DIRECT
                                          - VRRP
                                      staticRouting:
                                        description: >
                                          Defines a static route. It shall only be
                                          present if the routingProtocol="STATIC".
                                        type: object
                                        required:
                                          - ipVersion
                                          - ipPrefix
                                          - prefixSize
                                          - nextHop
                                        properties:
                                          ipVersion:
                                            description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          ipPrefix:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          prefixSize:
                                            description: |
                                              The IP prefix size.
                                            type: number
                                          nextHop:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                      routingAddressFamily:
                                        description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                        type: string
                                        enum:
                                          - IPV4
                                          - IPv6
                                      ospfRouting:
                                        description: >
                                          Defines parameters for OSPF routing. It
                                          shall only be present if the
                                          routingProtocol="OSPF".
                                        type: object
                                        required:
                                          - areaId
                                        properties:
                                          areaId:
                                            description: >
                                              The routing area identifier, e.g., a
                                              number or an IP address.
                                            type: string
                                      bgpRouting:
                                        description: >
                                          Defines parameters for BGP routing. It
                                          shall only be present if the
                                          routingProtocol="BGP".
                                        type: object
                                        required:
                                          - bgpAs
                                        properties:
                                          bgpAs:
                                            description: >
                                              The Autonomous System (AS)
                                              identification applicable to the BGP
                                              routing info entry.
                                            type: object
                                          bgpNeighbour:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          bgpAdditionalParam:
                                            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
                                      routeMapsDistribution:
                                        description: >
                                          Maps of routes that are permitted or
                                          denied for redistribution.
                                        type: object
                                        required:
                                          - policy
                                          - sequence
                                          - matchAndSetRule
                                        properties:
                                          policy:
                                            description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                            type: string
                                            enum:
                                              - PERMIT
                                              - DENY
                                          sequence:
                                            description: >
                                              Sequence or index number assigned to the
                                              route-map.
                                            type: number
                                          matchAndSetRule:
                                            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
                                  mtuL3:
                                    description: >
                                      Maximum Transmission Unit (MTU) that can
                                      be forwarded at layer 3 (in bytes).
                                      Default value is "1500" (bytes).
                                    type: number
                                  virtualRoutingAndForwarding:
                                    description: >
                                      Configuration related to the virtual
                                      routing and forwarding (VRF).
                                    type: object
                                    required:
                                      - vrfName
                                    properties:
                                      vrfName:
                                        description: >
                                          Name (or identifier) of the VRF
                                          instance.
                                        type: string
                                  bfdConfig:
                                    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
              _links:
                type: object
                description: Links to resources related to this resource.
                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
                  nestedNsInstances:
                    description: |
                      Links to resources related to this notification.
                    type: array
                    items:
                      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
                  vnfSnapshotInfos:
                    description: >
                      Links to the VNF snapshots associated to VNF instances
                      which are part of this NS instance.
                    type: array
                    items:
                      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
                  instantiate:
                    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
                  terminate:
                    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
                  update:
                    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
                  scale:
                    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
                  heal:
                    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
    IndividualNsInstance.Delete.204:
      description: >
        204 No Content

        Shall be returned when the "Individual NS instance" resource and the
        associated NS identifier have 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
        WWW-Authenticate:
          description: >
            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: {}
    IndividualNsInstance.Delete.409:
      description: >
        409 CONFLICT

        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a conflict

        with the state of the resource.

        Typically, this is due to the fact that the NS instance resource is in
        INSTANTIATED state.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey

        more information about the error.
      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:
        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
    InstantiateNsInstance.Post.202:
      description: >
        202 ACCEPTED


        accepted for processing, but the processing has not been completed.

        The response body shall be empty.

        The HTTP response shall include a "Location" HTTP header that contains
        the URI of the newly-created

        "Individual NS LCM operation occurrence" resource corresponding to the
        operation.
      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: {}
    InstantiateNsInstance.Post.409:
      description: >
        409 CONFLICT


        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a conflict

        with the state of the resource.

        Typically, this is due to the fact that the NS instance resource is in
        the INSTANTIATED state, or that

        another lifecycle management operation is ongoing.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey

        more information about the error.
      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: >
              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
    ScaleNsInstance.Post.202:
      description: >
        202 ACCEPTED


        Shall be returned when the request has been accepted for processing, but
        the processing has not been completed.

        The response body shall be empty.

        The HTTP response shall include a "Location" HTTP header that contains
        the URI of the newly-created

        "Individual NS lifecycle operation occurrence" resource corresponding to
        the operation.
      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: {}
    ScaleNsInstance.Post.409:
      description: >
        409 CONFLICT


        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a conflict with

        the state of the resource.

        Typically, this is due to the fact that the NS instance resource is in
        NOT_INSTANTIATED state, or that another

        lifecycle management operation is ongoing.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey more

        information about the error.
      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: >
              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
    UpdateNsInstance.Post.202:
      description: >
        202 ACCEPTED


        accepted for processing, but the processing has not been completed.

        The response body shall be empty.

        The HTTP response shall include a "Location" HTTP header that contains
        the URI of the newly-created

        "Individual NS lifecycle operation occurrence" resource corresponding to
        the operation.
      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: {}
    UpdateNsInstance.Post.409:
      description: >
        409 CONFLICT


        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a conflict

        with the state of the resource.

        Typically, this is due to the fact that the NS instance resource is in
        NOT_INSTANTIATED state, or that

        another lifecycle management operation is ongoing.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey

        more information about the error.
      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: >
              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
    HealNsInstance.Post.202:
      description: >
        202 ACCEPTED


        Shall be returned when the request has been accepted for processing, but
        the processing has not been completed.

        The response body shall be empty.

        The HTTP response shall include a "Location" HTTP header that contains
        the URI of the newly-created

        "Individual NS lifecycle operation occurrence" resource corresponding to
        the operation.
      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: {}
    HealNsInstance.Post.409:
      description: >
        409 CONFLICT


        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a

        conflict with the state of the resource.

        Typically, this is due to the fact that the NS instance resource is in
        NOT_INSTANTIATED state, or that

        another lifecycle management operation is ongoing.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey more

        information about the error
      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: >
              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
    TerminateNsInstance.Post.202:
      description: >
        202 ACCEPTED


        Shall be returned when the request has been accepted for processing.

        The response body shall be empty.

        The HTTP response shall include a "Location" HTTP header that contains
        the URI of the newly-created

        "Individual NS lifecycle operation occurrence" resource corresponding to
        the operation.
      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: {}
    TerminateNsInstance.Post.409:
      description: >
        409 CONFLICT


        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a conflict

        with the state of the resource.

        Typically, this is due to the fact that the NS instance resource is in
        NOT_INSTANTIATED state, or that another

        lifecycle management operation is ongoing.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey more

        information about the error.
      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: >
              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
    NsLcmOpOccs.Get.200:
      description: >
        200 OK

        Shall be returned when status information for zero or more NS lifecycle
        management operation occurrences has

        been queried successfully. The response body shall contain in an array
        the status information about zero or

        more NS lifecycle operation occurrences, as defined in clause 6.5.2.3.
        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 [16], respectively. If
        the NFVO supports alternative 2

        (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [16] 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 [16].
      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
        Link:
          description: >
            Reference to other resources. Used for paging in the present
            document, see clause 4.7.2.1.
          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 request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1:\tThis allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2:\tA coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3:\tThe list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED” and \"ROLLED_BACK\".\n"
              type: object
              required:
                - id
                - operationState
                - statusEnteredTime
                - nsInstanceId
                - lcmOperationType
                - startTime
                - isAutomaticInvocation
                - isCancelPending
                - _links
              properties:
                id:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                operationState:
                  description: >
                    Value | Description ------|------------ PROCESSING | The LCM
                    operation is currently in execution. COMPLETED | The LCM
                    operation has been completed successfully.
                    PARTIALLY_COMPLETED | The LCM operation has been partially
                    completed with accepTable errors. FAILED_TEMP | The LCM
                    operation has failed and execution has stopped, but the
                    execution of the operation is not considered to be closed.
                    FAILED | The LCM operation has failed and it cannot be
                    retried or rolled back, as it is determined that such action
                    will not succeed. OLLING_BACK | The LCM operation is
                    currently being rolled back. ROLLED_BACK | The LCM operation
                    has been successfully rolled back, i.e. The state of the NS
                    prior to the original operation invocation has been restored
                    as closely as possible.
                  type: string
                  enum:
                    - PROCESSING
                    - COMPLETED
                    - PARTIALLY_COMPLETED
                    - FAILED_TEMP
                    - FAILED
                    - ROLLING_BACK
                    - ROLLED_BACK
                stateEnteredTime:
                  description: >
                    Date-time stamp. Representation: String formatted according
                    toas defined by the date-time production in IETF RFC 3339.
                  format: date-time
                nsInstanceId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                lcmOperationType:
                  description: >
                    The enumeration NsLcmOpType represents those lifecycle
                    operations that trigger a NS lifecycle management operation
                    occurrence notification. Value | Description
                    ------|------------ INSTANTIATE | Represents the
                    "Instantiate NS" LCM operation. SCALE | Represents the
                    "Scale NS" LCM operation. UPDATE | Represents the "Update
                    NS" LCM operation. TERMINATE | Represents the "Terminate NS"
                    LCM operation. HEAL | Represents the "Heal NS" LCM
                    operation.
                  type: string
                  enum:
                    - INSTANTIATE
                    - SCALE
                    - UPDATE
                    - TERMINATE
                    - HEAL
                startTime:
                  description: >
                    Date-time stamp. Representation: String formatted according
                    toas defined by the date-time production in IETF RFC 3339.
                  format: date-time
                isAutomaticInvocation:
                  description: >
                    Set to true if this NS LCM operation occurrence has been
                    automatically triggered by the NFVO. This occurs in the case
                    of auto-scaling, auto-healing and when a nested NS is
                    modified as a result of an operation on its composite NS.
                    Set to false otherwise.
                  type: boolean
                operationParams:
                  description: >
                    Input parameters of the LCM operation. This attribute shall
                    be formatted according to the request data type of the
                    related LCM operation. In addition, the provisions in clause
                    6.7 shall apply. The following mapping between
                    lcmOperationType and the data type of this attribute shall
                    apply: - INSTANTIATE: InstantiateNsRequest - SCALE:
                    ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL:
                    HealNsRequest - TERMINATE: TerminateNsRequest This attribute
                    shall be present if this data type is returned in a response
                    to reading an individual resource, and may be present
                    according to the chosen attribute selector parameter if this
                    data type is returned in a response to a query of a
                    container resource.
                  type: string
                  enum:
                    - INSTANTIATE
                    - SCALE
                    - UPDATE
                    - HEAL
                    - TERMINATE
                isCancelPending:
                  description: >
                    If the LCM operation occurrence is in "PROCESSING" or
                    "ROLLING_BACK" state and the operation is being cancelled,
                    this attribute shall be set to true. Otherwise, it shall be
                    set to false.
                  type: boolean
                cancelMode:
                  description: >
                    Cancellation mode.

                    The NFVO shall not start any new VNF lifecycle management
                    and resource management operation, and shall wait for the
                    ongoing VNF lifecycle management and resource management
                    operations in the underlying system, typically the VNFM and
                    VIM, to finish execution or to time out. After that, the
                    NFVO shall put the operation occurrence into the FAILED_TEMP
                    state.

                    The NFVO shall not start any new VNF lifecycle management
                    and resource management operation, shall cancel the ongoing
                    VNF lifecycle management and resource management operations
                    in the underlying system, typically the VNFM and VIM, and
                    shall wait for the cancellation to finish or to time out.
                    After that, the NFVO shall put the operation occurrence into
                    the FAILED_TEMP state.
                  type: string
                  enum:
                    - GRACEFUL
                    - FORCEFUL
                error:
                  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
                resourceChanges:
                  description: >
                    This attribute contains information about the cumulative
                    changes to virtualised resources that were performed so far
                    by the LCM operation since its start, if applicable
                  type: object
                  properties:
                    affectedVnfs:
                      description: >
                        Information about the VNF instances that were affected
                        during the lifecycle operation, if this notification
                        represents the result of a lifecycle operation. See note
                        1.
                      type: array
                      items:
                        description: "This type provides information about added, deleted and modified VNFs.\nNOTE:\tAt least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n"
                        type: object
                        required:
                          - vnfInstanceId
                          - vnfdId
                          - vnfProfileId
                          - vnfName
                          - changeType
                          - changeResult
                        anyOf:
                          - required:
                              - changedExtConnectivity
                          - oneOf:
                              - required:
                                  - changedVnfInfo
                              - required:
                                  - modificationsTriggeredByVnfPkgChange
                        properties:
                          vnfInstanceId:
                            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
                          vnfProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          vnfName:
                            description: |
                              Name of the VNF Instance.
                            type: string
                          changeType:
                            description: "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY -\tCHANGE_VNFPKG\n"
                            type: string
                            enum:
                              - ADD
                              - REMOVE
                              - INSTANTIATE
                              - TERMINATE
                              - SCALE
                              - CHANGE_FLAVOUR
                              - HEAL
                              - OPERATE
                              - MODIFY_INFORMATION
                              - CHANGE_EXTERNAL_VNF_CONNECTIVITY
                              - CHANGE_VNFPKG
                          changeResult:
                            description: >
                              Signals the result of change identified by the
                              "changeType" attribute. Permitted values: -
                              COMPLETED - ROLLED_BACK - FAILED
                            type: string
                            enum:
                              - COMPLETED
                              - ROLLED_BACK
                              - FAILED
                          changedInfo:
                            description: >
                              Information about the changed VNF instance
                              information, including VNF configurable
                              properties,if applicable. When the "changedInfo"
                              attribute is present,  either the "changedVnfInfo"
                              attribute or the "changedExtConnectivity"
                              attribute or both shall be present.
                            type: object
                            anyOf:
                              - required:
                                  - changedVnfInfo
                              - required:
                                  - changedVnfInfo
                              - required:
                                  - modificationsTriggeredByVnfPkgChange
                            oneOf:
                              - required:
                                  - changedVnfInfo
                              - required:
                                  - modificationsTriggeredByVnfPkgChange
                            properties:
                              changedVnfInfo:
                                description: >
                                  This type represents the information that is
                                  requested to be modified for a VNF instance.
                                  The information to be modified shall comply
                                  with the associated NSD. EXAMPLE. The vnfPkgId
                                  attribute value for a particular VNF instance
                                  can only be updated with a value that matches
                                  the identifier value of a VNF package whose
                                  vnfdId is present in the associated profile of
                                  the NSD.
                                type: object
                                required:
                                  - vnfInstanceId
                                properties:
                                  vnfInstanceId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfInstanceName:
                                    description: >
                                      New value of the "vnfInstanceName"
                                      attribute in "VnfInstance", or "null" to
                                      remove the attribute.
                                    type: string
                                  vnfInstanceDescription:
                                    description: >
                                      New value of the "vnfInstanceDescription"
                                      attribute in "VnfInstance", or "null" to
                                      remove the attribute.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfConfigurableProperties:
                                    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
                                  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
                                  extensions:
                                    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
                              changedExtConnectivity:
                                description: >
                                  Information about changed external
                                  connectivity, if applicable. Only information
                                  about external VL instances that have been
                                  added or modified shall be provided. See note.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - id
                                    - resourceHandle
                                  properties:
                                    id:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceHandle:
                                      description: >
                                        This type represents the information
                                        that allows addressing a virtualised
                                        resource that is used by a VNF instance
                                        or by an NS instance. Information about
                                        the resource is available from the VIM.
                                        NOTE: The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle.
                                      type: object
                                      required:
                                        - resourceId
                                      properties:
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceProviderId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                        vimLevelResourceType:
                                          description: >
                                            Type of the resource in the scope of the
                                            VIM, the WIM or the resource provider.
                                            The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle. See note.
                                          type: string
                                    extLinkPorts:
                                      description: |
                                        Link ports of this VL.
                                      type: array
                                      items:
                                        description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                        type: object
                                        required:
                                          - id
                                          - resourceHandle
                                        properties:
                                          id:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceHandle:
                                            description: >
                                              This type represents the information
                                              that allows addressing a virtualised
                                              resource that is used by a VNF instance
                                              or by an NS instance. Information about
                                              the resource is available from the VIM.
                                              NOTE: The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle.
                                            type: object
                                            required:
                                              - resourceId
                                            properties:
                                              vimId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceProviderId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              resourceId:
                                                description: >
                                                  An identifier maintained by the VIM or
                                                  other resource provider. It is expected
                                                  to be unique within the VIM instance.
                                                  Representation: string of variable
                                                  length.
                                                type: string
                                              vimLevelResourceType:
                                                description: >
                                                  Type of the resource in the scope of the
                                                  VIM, the WIM or the resource provider.
                                                  The value set of the
                                                  "vimLevelResourceType" attribute is
                                                  within the scope of the VIM, the WIM or
                                                  the resource provider and can be used as
                                                  information that complements the
                                                  ResourceHandle. See note.
                                                type: string
                                          cpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          secondaryCpInstanceId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          trunkResourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                    currentVnfExtCpData:
                                      description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                      type: object
                                      required:
                                        - cpdId
                                      properties:
                                        cpdId:
                                          description: >
                                            Identifier of the VNF Virtual Link
                                            Descriptor (VLD) in the VNFD.
                                          type: string
                                        cpConfig:
                                          description: >
                                            Map of instance data that need to be
                                            configured on the CP instances  created
                                            from the respective CPD. The key of the
                                            map which identifies  the individual
                                            VnfExtCpConfig entries is of type
                                            "IdentifierInVnf"  and is managed by the
                                            API consumer. The entries shall be
                                            applied by  the VNFM according to the
                                            rules of JSON Merge Patch (see IETF RFC
                                            7396 [11]).  See notes 2, 3 and 4.
                                          type: object
                                          additionalProperties:
                                            description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                            type: object
                                            anyOf:
                                              - required:
                                                  - linkPortId
                                              - required:
                                                  - cpProtocolData
                                            properties:
                                              parentCpConfigId:
                                                description: >
                                                  An identifier that is unique for the
                                                  respective type within a VNF instance,
                                                  but may not be globally unique.
                                                type: string
                                              linkPortId:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                              createExtLinkPort:
                                                description: >
                                                  Indicates the need to create a dedicated
                                                  link port for the external CP. If set to
                                                  True, a link port is created. If set to
                                                  False, no link port is created. This
                                                  attribute is only applicable for
                                                  external CP instances without a floating
                                                  IP address that expose a VIP CP instance
                                                  for which a dedicated IP address is
                                                  allocated. It shall be present in that
                                                  case and shall be absent otherwise.
                                                type: boolean
                                              cpProtocolData:
                                                description: >
                                                  Parameters for configuring the network
                                                  protocols on the link port that connects
                                                  the CP to a VL. See note 1.
                                                type: array
                                                items:
                                                  description: >
                                                    This type represents network protocol
                                                    data.
                                                  type: object
                                                  required:
                                                    - layerProtocol
                                                  properties:
                                                    layerProtocol:
                                                      description: >
                                                        Identifier of layer(s) and protocol(s).
                                                        Permitted values: IP_OVER_ETHERNET.
                                                      type: string
                                                      enum:
                                                        - IP_OVER_ETHERNET
                                                    ipOverEthernet:
                                                      description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                      type: object
                                                      anyOf:
                                                        - required:
                                                            - ipAddresses
                                                        - required:
                                                            - macAddress
                                                      properties:
                                                        macAddress:
                                                          description: >
                                                            A MAC address. Representation: string
                                                            that consists of groups of two
                                                            hexadecimal digits, separated by hyphens
                                                            or colons.
                                                          type: string
                                                          format: MAC
                                                        segmentationType:
                                                          description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                          type: string
                                                          enum:
                                                            - VLAN
                                                            - INHERIT
                                                        segmentationId:
                                                          description: >
                                                            Identification of the network segment to
                                                            which the CP instance connects to. See
                                                            note 3 and note 4.
                                                          type: string
                                                        ipAddresses:
                                                          description: >
                                                            List of IP addresses to assign to the CP
                                                            instance. Each entry represents IP
                                                            address data for fixed or dynamic IP
                                                            address assignment per subnet. If this
                                                            attribute is not present, no IP address
                                                            shall be assigned. See note 1.
                                                          type: array
                                                          items:
                                                            type: object
                                                            required:
                                                              - type
                                                            oneOf:
                                                              - required:
                                                                  - fixedAddresses
                                                              - required:
                                                                  - numDynamicAddresses
                                                              - required:
                                                                  - addressRange
                                                            properties:
                                                              type:
                                                                description: >
                                                                  The type of the IP addresses. Permitted
                                                                  values:
                                                                    - IPV4
                                                                    - IPV6
                                                                type: string
                                                                enum:
                                                                  - IPV4
                                                                  - IPV6
                                                              fixedAddresses:
                                                                description: >
                                                                  Fixed addresses to assign (from the
                                                                  subnet defined by "subnetId" if
                                                                  provided). Exactly one of
                                                                  "fixedAddresses", "numDynamicAddresses"
                                                                  or "ipAddressRange" shall be present.
                                                                type: array
                                                                items:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                              numDynamicAddresses:
                                                                description: >
                                                                  Number of dynamic addresses to assign
                                                                  (from the subnet defined by "subnetId"
                                                                  if provided). See note 2.
                                                                type: integer
                                                              addressRange:
                                                                description: >
                                                                  An IP address range to be used, e.g. in
                                                                  case of egress connections. In case this
                                                                  attribute is present, IP addresses from
                                                                  the range will be used.
                                                                type: object
                                                                required:
                                                                  - minAddress
                                                                  - maxAddress
                                                                properties:
                                                                  minAddress:
                                                                    description: >
                                                                      An IPV4 or IPV6 address. Representation:
                                                                      In case of an IPV4 address, string that
                                                                      consists of four decimal integers
                                                                      separated by dots, each integer ranging
                                                                      from 0 to 255. In case of an IPV6
                                                                      address, string that consists of groups
                                                                      of zero to four hexadecimal digits,
                                                                      separated by colons.
                                                                    type: string
                                                                    format: IP
                                                                  maxAddress:
                                                                    description: >
                                                                      An IPV4 or IPV6 address. Representation:
                                                                      In case of an IPV4 address, string that
                                                                      consists of four decimal integers
                                                                      separated by dots, each integer ranging
                                                                      from 0 to 255. In case of an IPV6
                                                                      address, string that consists of groups
                                                                      of zero to four hexadecimal digits,
                                                                      separated by colons.
                                                                    type: string
                                                                    format: IP
                                                              subnetId:
                                                                description: >
                                                                  An identifier maintained by the VIM or
                                                                  other resource provider. It is expected
                                                                  to be unique within the VIM instance.
                                                                  Representation: string of variable
                                                                  length.
                                                                type: string
                              modificationsTriggeredByVnfPkgChange:
                                description: >
                                  This type represents attribute modifications
                                  that were performed by the VNFM on an
                                  "Individual VNF instance"  resource when
                                  changing the current VNF package. The
                                  "ModificationsTriggeredByVnfPkgChange" data
                                  type shall comply with the provisions defined
                                  in table 6.5.3.79-1.
                                type: object
                                properties:
                                  vnfConfigurableProperties:
                                    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
                                  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
                                  extensions:
                                    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
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfProvider:
                                    description: >
                                      If present, this attribute signals the new
                                      value of the "vnfProvider" attribute in
                                      "VnfInstance". If present, this attribute
                                      (which depends on the value of the
                                      "vnfdId" attribute) was modified
                                      implicitly during the related operation,
                                      and contains a copy of the value of the
                                      related attribute from the VNFD in the VNF
                                      Package identified by the "vnfdId"
                                      attribute.
                                    type: string
                                  vnfProductName:
                                    description: >
                                      If present, this attribute signals the new
                                      value of the "vnfProductName" attribute in
                                      "VnfInstance". If present, this attribute
                                      (which depends on the value of the
                                      "vnfdId" attribute) was modified
                                      implicitly during the related operation,
                                      and contains a copy of the value of the
                                      related attribute from the VNFD in the VNF
                                      Package identified by the "vnfdId"
                                      attribute.
                                    type: string
                                  vnfSoftwareVersion:
                                    description: >
                                      A Version. Representation: string of
                                      variable length.
                                    type: string
                                  vnfdVersion:
                                    description: >
                                      A Version. Representation: string of
                                      variable length.
                                    type: string
                    affectedPnfs:
                      description: >
                        Information about the PNF instances that were affected
                        during the lifecycle operation, if this notification
                        represents the result of a lifecycle operation. See note
                        1.
                      type: array
                      items:
                        description: >
                          This type provides information about added, deleted
                          and modified PNFs.  It shall comply with the
                          provisions in Table 6.5.3.3-1.
                        type: object
                        required:
                          - pnfId
                          - pnfdId
                          - pnfProfileId
                          - cpInstanceId
                        properties:
                          pnfId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          pnfdId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          pnfProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          pnfName:
                            description: |
                              Name of the PNF.
                            type: string
                          cpInstanceId:
                            description: |
                              Identifier of the CP in the scope of the PNF.
                            type: array
                            items:
                              description: >
                                An Identifier that is unique within respect to a
                                PNF. Representation: string of variable length.
                              type: string
                          changeType:
                            description: >
                              Signals the type of change. Permitted values: -
                              ADD - REMOVE - MODIFY
                            type: string
                            enum:
                              - ADD
                              - REMOVE
                              - MODIFY
                          changeResult:
                            description: >
                              Signals the result of change identified by the
                              "changeType" attribute. Permitted values: -
                              COMPLETED - ROLLED_BACK - FAILED
                            type: string
                            enum:
                              - COMPLETED
                              - ROLLED_BACK
                              - FAILED
                    affectedVls:
                      description: >
                        Information about the VL instances that were affected
                        during the lifecycle operation, if this notification
                        represents the result of a lifecycle operation. See note
                        1.
                      type: array
                      items:
                        description: "This type provides information about added, deleted, modified and temporary VLs. NOTE:\tThe resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n"
                        type: object
                        required:
                          - nsVirtualLinkInstanceId
                          - nsVirtualLinkDescId
                          - vlProfileId
                          - changeType
                          - changeResult
                        properties:
                          nsVirtualLinkInstanceId:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                          nsVirtualLinkDescId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          vlProfileId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          changeType:
                            description: >
                              Signals the type of change. Permitted values: *
                              ADD * DELETE * MODIFY * ADD_LINK_PORT *
                              REMOVE_LINK_PORT
                            type: string
                            enum:
                              - ADD
                              - DELETE
                              - MODIFY
                              - ADD_LINK_PORT
                              - REMOVE_LINK_PORT
                          linkPortIds:
                            description: >
                              Identifiers of the link ports of the affected VL
                              related to the change. Each identifier references
                              an "NsLinkPortInfo" structure.

                              Shall be set when changeType is equal to
                              "ADD_LINK_PORT" or "REMOVE_LINK_PORT", and the
                              related "NsLinkPortInfo" structures are present
                              (case "add") or have been present (case "remove")
                              in the "NsVirtualLinkInfo" structure that is
                              represented by the "virtualLink¬Info" attribute in
                              the "NsInstance" structure. See note.
                            type: array
                            items:
                              description: >
                                An identifier that is unique with respect to a
                                NS. Representation: string of variable length.
                              type: string
                          changeResult:
                            description: >
                              Signals the result of change identified by the
                              "changeType" attribute. Permitted values: *
                              COMPLETED * ROLLED_BACK * FAILED
                            type: string
                            enum:
                              - COMPLETED
                              - ROLLED_BACK
                              - FAILED
                    affectedVnffgs:
                      description: >
                        Information about the VNFFG instances that were affected
                        during the lifecycle operation, if this notification
                        represents the result of a lifecycle operation. See note
                        1.
                      type: array
                      items:
                        description: >
                          This type provides information about added, deleted
                          and modified VNFFG instances. It shall comply with the
                          provisions in Table 6.5.3.5-1.
                        type: object
                        required:
                          - vnffgInstanceId
                          - vnffgdId
                        properties:
                          vnffgInstanceId:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                          vnffgdId:
                            description: >
                              An identifier that is unique within a NS
                              descriptor. Representation: string of variable
                              length.
                            type: string
                          changeType:
                            description: >
                              Signals the type of change. Permitted values: -
                              ADD - DELETE - MODIFY
                            type: string
                            enum:
                              - ADD
                              - DELETE
                              - MODIFY
                          changeResult:
                            description: >
                              Signals the result of change identified by the
                              "changeType" attribute. Permitted values: -
                              COMPLETED - ROLLED_BACK - FAILED
                            type: string
                            enum:
                              - COMPLETED
                              - ROLLED_BACK
                              - FAILED
                    affectedNss:
                      description: >
                        Information about the nested NS instances that were
                        affected during the lifecycle operation, if this
                        notification represents the result of a lifecycle
                        operation. See note 1.
                      type: array
                      items:
                        description: >
                          This type provides information about added, deleted
                          and modified nested NSs. It shall comply with the
                          provisions in Table 6.5.3.6-1.
                        type: object
                        required:
                          - nsInstanceId
                          - nsdId
                          - changeType
                          - changeResult
                        properties:
                          nsInstanceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          nsdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          changeType:
                            description: >
                              Signals the type of lifecycle change. Permitted
                              values: - ADD - REMOVE - INSTANTIATE - SCALE -
                              UPDATE - HEAL - TERMINATE
                            type: string
                            enum:
                              - ADD
                              - REMOVE
                              - INSTANTIATE
                              - SCALE
                              - UPDATE
                              - HEAL
                              - TERMINATE
                          changeResult:
                            description: >
                              Signals the result of change identified by the
                              "changeType" attribute. Permitted values: -
                              COMPLETED - ROLLED_BACK - FAILED -
                              PARTIALLY_COMPLETED
                            type: string
                            enum:
                              - COMPLETED
                              - ROLLED_BACK
                              - FAILED
                              - PARTIALLY_COMPLETED
                          changedInfo:
                            description: >
                              Information about the changed NS instance
                              information, if applicable.
                            type: object
                            properties:
                              wanConnectionInfoModifications:
                                description: >
                                  Information about the modified WAN related
                                  connectivity information, if applicable.
                                type: array
                                items:
                                  description: >
                                    This type represents attribute modifications
                                    that were performed on WAN connection
                                    information. The attributes that can be
                                    included consist of those requested to be
                                    modified explicitly with the
                                    "UpdateNsRequest" data structure. It shall
                                    comply with the provisions defined in table
                                    6.5.3.93-1.
                                  type: object
                                  required:
                                    - wanConnectionInfoId
                                  properties:
                                    wanConnectionInfoId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    mscsName:
                                      description: >
                                        If present, this attribute signals
                                        modifications of the "mscsName"
                                        attribute in "MscsInfo" as defined in
                                        clause 6.5.3.82.
                                      type: string
                                    mscsDescription:
                                      description: >
                                        If present, this attribute signals
                                        modifications of the "mscsDescription"
                                        attribute in "MscsInfo" as defined in
                                        clause 6.5.3.82.
                                      type: string
                                    mscsEndpoints:
                                      description: >
                                        If present, this attribute signals
                                        modifications of certain entries in the
                                        "mscsEndpoints" attribute array in
                                        "MscsInfo", as defined in clause
                                        6.5.3.82.
                                      type: array
                                      items:
                                        description: >
                                          This type provides encapsulates
                                          information about an MSCS endpoint of
                                          the MSCS. It shall comply with the
                                          provisions defined in table 6.5.3.83-1.
                                        type: object
                                        required:
                                          - mscsEndpointId
                                          - directionality
                                          - connectivityServiceEndpoinId
                                        properties:
                                          mscsEndpointId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          directionality:
                                            description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                            type: string
                                            enum:
                                              - INBOUND
                                              - OUTBOUND
                                              - BOTH
                                          connectivityServiceEndpoinId:
                                            description: >
                                              References the connectivity service
                                              endpoint configuration information
                                              applicable to support the MSCS endpoint.
                                              More than one connectivity service
                                              endpoint can be referred when endpoints
                                              are in LAG mode.
                                            type: array
                                            items:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                    removeMscsEndpointIds:
                                      description: >
                                        If present, this attribute signals the
                                        deletion of certain entries in the
                                        "mscsEndpoints" attribute array in
                                        "MscsInfo", as defined in clause
                                        6.5.3.82.
                                      type: array
                                      items:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                    connectivityServiceEndpoints:
                                      description: >
                                        If present, this attribute signals
                                        modifications of certain entries in the
                                        "connectivityServiceEndpoints" attribute
                                        array in "WanConnectionProtocolInfo", as
                                        defined in clause 6.5.3.91.
                                      type: array
                                      items:
                                        description: >
                                          This type provides configuration data
                                          for the NFVI-PoP network gateway
                                          providing connectivity service
                                          endpoints. The connectivity service
                                          endpoints are used as endpoints by an
                                          MSCS. It shall comply with the
                                          provisions defined in Table 6.5.3.84-1.
                                        type: object
                                        required:
                                          - connectivityServiceEndpointId
                                          - vimId
                                        properties:
                                          connectivityServiceEndpointId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          siteToWanLayer2ProtocolData:
                                            description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                            type: object
                                            required:
                                              - layer2ConnectionInfo
                                            properties:
                                              layer2ConnectionInfo:
                                                description: >
                                                  Layer 2 protocol parameters of the
                                                  connectivity service endpoint (CSE).
                                                type: object
                                                required:
                                                  - connectionType
                                                  - interfaceType
                                                  - interfaceTagging
                                                  - encapsulationType
                                                properties:
                                                  connectionType:
                                                    description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                                    type: string
                                                    enum:
                                                      - CSE
                                                      - AGGREGATE_CSE
                                                  interfaceType:
                                                    description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                                    type: string
                                                    enum:
                                                      - PARENT
                                                      - LOGICAL
                                                  interfaceTagging:
                                                    description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                                    type: string
                                                    enum:
                                                      - UNTAGGED
                                                      - TAGGED
                                                  encapsulationType:
                                                    description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                                    type: string
                                                    enum:
                                                      - ETH
                                                      - VLAN
                                                      - VXLAN
                                                  vlanTaggingType:
                                                    description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                                    type: string
                                                    enum:
                                                      - DOT1Q
                                                      - QINQ
                                                      - QINANY
                                                  wanSegmentIds:
                                                    description: >
                                                      Segment identifiers to pass on the
                                                      tagged interface. Shall be present if
                                                      encapsulationType="VLAN" or “VXLAN".
                                                    type: object
                                                    required:
                                                      - wanSegmentIdValue
                                                    properties:
                                                      wanSegmentIdValue:
                                                        description: >
                                                          Identifier of the network segment (e.g.,
                                                          VLAN id or VNI).
                                                        type: string
                                                      wanSegmentIdUpperRange:
                                                        description: >
                                                          Identifier of the upper range network
                                                          segment, in case the "wanSegmentIds" is
                                                          used to define a range.
                                                        type: string
                                                  vxlanConfig:
                                                    description: >
                                                      Additional configuration needed when
                                                      using VXLAN encapsulation. Shall be
                                                      present if interfaceTagging="TAGGED" and
                                                      encapsulationType="VXLAN".
                                                    type: object
                                                    required:
                                                      - peerMode
                                                    properties:
                                                      peerMode:
                                                        description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                                        type: string
                                                        enum:
                                                          - STATIC
                                                          - BGP_EVPN
                                                      peers:
                                                        description: >
                                                          List of IP addresses of VTEP peers when
                                                          using static mode.
                                                        type: array
                                                        items:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                  lagInterfaceData:
                                                    description: >
                                                      Information for setting up a LAG
                                                      interface aggregating multiple
                                                      connectivity service endpoints.
                                                    type: object
                                                    required:
                                                      - aggregatedEndpoints
                                                      - lacpActivation
                                                      - lacpConfig
                                                    properties:
                                                      aggregatedEndpoints:
                                                        description: >
                                                          List of the connectivity service
                                                          endpoints that are to be aggregated.
                                                          Shall be present if
                                                          connectionType="AGGREGATE_CSE". In case
                                                          of aggregating connectivity service
                                                          endpoints, only one
                                                          SiteToWanLayer2ProtocolData shall be
                                                          provided for the whole set of aggregated
                                                          endpoints.
                                                        type: array
                                                        items:
                                                          description: >
                                                            An identifier with the intention of
                                                            being globally unique.
                                                          type: string
                                                      lacpActivation:
                                                        description: >
                                                          Indicates whether to activate LACP on
                                                          the interface. If "TRUE", the LACP is to
                                                          be activated, or "FALSE" otherwise.
                                                          Default value is "FALSE".
                                                        type: boolean
                                                      lacpConfig:
                                                        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
                                                  layer2ControlProtocol:
                                                    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
                                              mtuL2:
                                                description: >
                                                  Maximum Transmission Unit (MTU) that can
                                                  be forwarded at layer 2 (in bytes).
                                                  Default value is "1500" (bytes).
                                                type: number
                                              virtualRoutingAndForwarding:
                                                description: >
                                                  Configuration related to the L2 virtual
                                                  routing and forwarding (MAC-VRF).
                                                type: object
                                                required:
                                                  - macVrfName
                                                properties:
                                                  macVrfName:
                                                    description: >
                                                      Name (or identifier) of the MAC-VRF
                                                      instance.
                                                    type: string
                                              forwardingConfig:
                                                description: >
                                                  Information related to the forwarding of
                                                  the VN in the NFVI-PoP to the
                                                  connectivity service endpoint, if
                                                  information about the VN to "stitch" is
                                                  already known. . by the OSS/BSS. Shall
                                                  not be provided otherwise, in which case
                                                  the NFVO will infer the forwarding
                                                  configuration based on the NS VL, or
                                                  external VL, or externally-managed VL
                                                  provisioning.
                                                type: object
                                                oneOf:
                                                  - required:
                                                      - networkResources
                                                  - required:
                                                      - vnSegmentIds
                                                properties:
                                                  networkResources:
                                                    description: >
                                                      Reference to the VN resource to be
                                                      forwarded into/from the MSCS. See note.
                                                    type: array
                                                    items:
                                                      description: >
                                                        This type represents the information
                                                        that allows addressing a virtualised
                                                        resource that is used by a VNF instance
                                                        or by an NS instance. Information about
                                                        the resource is available from the VIM.
                                                        NOTE: The value set of the
                                                        "vimLevelResourceType" attribute is
                                                        within the scope of the VIM, the WIM or
                                                        the resource provider and can be used as
                                                        information that complements the
                                                        ResourceHandle.
                                                      type: object
                                                      required:
                                                        - resourceId
                                                      properties:
                                                        vimId:
                                                          description: >
                                                            An identifier with the intention of
                                                            being globally unique.
                                                          type: string
                                                        resourceProviderId:
                                                          description: >
                                                            An identifier with the intention of
                                                            being globally unique.
                                                          type: string
                                                        resourceId:
                                                          description: >
                                                            An identifier maintained by the VIM or
                                                            other resource provider. It is expected
                                                            to be unique within the VIM instance.
                                                            Representation: string of variable
                                                            length.
                                                          type: string
                                                        vimLevelResourceType:
                                                          description: >
                                                            Type of the resource in the scope of the
                                                            VIM, the WIM or the resource provider.
                                                            The value set of the
                                                            "vimLevelResourceType" attribute is
                                                            within the scope of the VIM, the WIM or
                                                            the resource provider and can be used as
                                                            information that complements the
                                                            ResourceHandle. See note.
                                                          type: string
                                                  vnSegmentIds:
                                                    description: >
                                                      Identifiers of the network segments of
                                                      the VN resources to be forwarded
                                                      into/from the MSCS.
                                                    type: object
                                                    required:
                                                      - vnSegmentIdValue
                                                    properties:
                                                      vnSegmentIdValue:
                                                        description: |
                                                          Identifier of the network segment.
                                                        type: string
                                                      vnSegmentIdUpperRange:
                                                        description: >
                                                          Identifier of the upper range network
                                                          segment, in case the "vnSegmentIds" is
                                                          used to define a range.
                                                        type: string
                                          siteToWanLayer3ProtocolData:
                                            description: >
                                              This type provides information about
                                              Layer 3 protocol specific information
                                              for the stitching of the intra-site VN
                                              to the multi-site connectivity service
                                              over the WAN. It shall comply with the
                                              provisions defined in Table 6.5.3.86-1.
                                            type: object
                                            required:
                                              - routingInfo
                                            properties:
                                              logicalInterfaceIpAddress:
                                                description: >
                                                  IP addressing information associated to
                                                  a logical interface. Shall be present if
                                                  the "interfaceType" of the
                                                  SiteToWanLayer2ProtocolData is equal to
                                                  "LOGICAL".
                                                type: object
                                                required:
                                                  - ipAddress
                                                  - associatedSegmentId
                                                properties:
                                                  ipAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  associatedSegmentId:
                                                    description: >
                                                      The associated segment identifier that
                                                      has triggered the creation of the
                                                      logical interface. The value shall be
                                                      one of the values listed in the
                                                      "wanSegmentIds" of the
                                                      "siteToWanLayer2ProtocolData".
                                                    type: string
                                              routingInfo:
                                                description: >
                                                  The routing information that is
                                                  activated on the connectivity service
                                                  endpoint. More than one "routingInfo" is
                                                  allowed to enable stacking different
                                                  routing protocols (e.g., one routing
                                                  protocol for IPv4 and another one for
                                                  IPv6).
                                                type: object
                                                required:
                                                  - routingProtocol
                                                  - routingAddressFamily
                                                properties:
                                                  routingProtocol:
                                                    description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                                    type: string
                                                    enum:
                                                      - BGP
                                                      - RIP
                                                      - OSPF
                                                      - STATIC
                                                      - DIRECT
                                                      - VRRP
                                                  staticRouting:
                                                    description: >
                                                      Defines a static route. It shall only be
                                                      present if the routingProtocol="STATIC".
                                                    type: object
                                                    required:
                                                      - ipVersion
                                                      - ipPrefix
                                                      - prefixSize
                                                      - nextHop
                                                    properties:
                                                      ipVersion:
                                                        description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      ipPrefix:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      prefixSize:
                                                        description: |
                                                          The IP prefix size.
                                                        type: number
                                                      nextHop:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                  routingAddressFamily:
                                                    description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                                    type: string
                                                    enum:
                                                      - IPV4
                                                      - IPv6
                                                  ospfRouting:
                                                    description: >
                                                      Defines parameters for OSPF routing. It
                                                      shall only be present if the
                                                      routingProtocol="OSPF".
                                                    type: object
                                                    required:
                                                      - areaId
                                                    properties:
                                                      areaId:
                                                        description: >
                                                          The routing area identifier, e.g., a
                                                          number or an IP address.
                                                        type: string
                                                  bgpRouting:
                                                    description: >
                                                      Defines parameters for BGP routing. It
                                                      shall only be present if the
                                                      routingProtocol="BGP".
                                                    type: object
                                                    required:
                                                      - bgpAs
                                                    properties:
                                                      bgpAs:
                                                        description: >
                                                          The Autonomous System (AS)
                                                          identification applicable to the BGP
                                                          routing info entry.
                                                        type: object
                                                      bgpNeighbour:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      bgpAdditionalParam:
                                                        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
                                                  routeMapsDistribution:
                                                    description: >
                                                      Maps of routes that are permitted or
                                                      denied for redistribution.
                                                    type: object
                                                    required:
                                                      - policy
                                                      - sequence
                                                      - matchAndSetRule
                                                    properties:
                                                      policy:
                                                        description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                                        type: string
                                                        enum:
                                                          - PERMIT
                                                          - DENY
                                                      sequence:
                                                        description: >
                                                          Sequence or index number assigned to the
                                                          route-map.
                                                        type: number
                                                      matchAndSetRule:
                                                        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
                                              mtuL3:
                                                description: >
                                                  Maximum Transmission Unit (MTU) that can
                                                  be forwarded at layer 3 (in bytes).
                                                  Default value is "1500" (bytes).
                                                type: number
                                              virtualRoutingAndForwarding:
                                                description: >
                                                  Configuration related to the virtual
                                                  routing and forwarding (VRF).
                                                type: object
                                                required:
                                                  - vrfName
                                                properties:
                                                  vrfName:
                                                    description: >
                                                      Name (or identifier) of the VRF
                                                      instance.
                                                    type: string
                                              bfdConfig:
                                                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
                                    removeConnectivityServiceEndpoints:
                                      description: >
                                        If present, this attribute signals the
                                        deletion of certain entries in the
                                        "connectivityServiceEndpoints" attribute
                                        array in "WanConnectionProtocolInfo", as
                                        defined in clause 6.5.3.91.
                                      type: array
                                      items:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                    affectedSaps:
                      description: >
                        Information about the nested NS instances that were
                        affected during the lifecycle operation, if this
                        notification represents the result of a lifecycle
                        operation. See note 1.
                      type: array
                      items:
                        description: >
                          This type provides information about added, deleted
                          and modified SAP of a NS. It shall comply with the
                          provisions in Table 6.5.3.7-1.
                        type: object
                        required:
                          - sapInstanceId
                          - sapdId
                        properties:
                          sapInstanceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          sapdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          sapName:
                            description: |
                              Human readable name for the SAP.
                            type: string
                          changeType:
                            description: >
                              Signals the type of lifecycle change. Permitted
                              values: - ADD - REMOVE - MODIFY
                            type: string
                            enum:
                              - ADD
                              - REMOVE
                              - MODIFY
                          changeResult:
                            description: >
                              Signals the result of change identified by the
                              "changeType" attribute. Permitted values: -
                              COMPLETED - ROLLED_BACK - FAILED
                            type: string
                            enum:
                              - COMPLETED
                              - ROLLED_BACK
                              - FAILED
                lcmCoordinations:
                  description: >
                    Information about LCM coordination actions (see clause 12)
                    related to this LCM operation occurrence.
                  type: array
                  items:
                    type: object
                    required:
                      - id
                      - coordinationActionName
                      - startTime
                      - endpointType
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      coordinationActionName:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      coordinationResult:
                        description: >
                          The enumeration LcmCoordResultType defines the
                          permitted values to represent the result 

                          of executing an LCM coordination action. The
                          coordination result also implies the action 

                          to be performed by the NFVO as the follow-up to this
                          coordination. The LcmCoordResultType 

                          shall comply with the provisions defined in table
                          12.5.4.3.-1.


                          - CONTINUE: The related LCM operation shall be
                          continued, staying in the state "PROCESSING".

                          - ABORT: The related LCM operation shall be aborted by
                          transitioning into the state "FAILED_TEMP".

                          - CANCELLED: The coordination action has been
                          cancelled upon request of the API consumer, 
                                       i.e. the NFVO. The related LCM operation shall be aborted by transitioning into 
                                       the state "FAILED_TEMP".
                        type: string
                        enum:
                          - CONTINUE
                          - ABORT
                          - CACELLED
                      startTime:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according toas defined by the date-time production in
                          IETF RFC 3339.
                        format: date-time
                      endTime:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according toas defined by the date-time production in
                          IETF RFC 3339.
                        format: date-time
                      endpointType:
                        description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                        type: string
                        enum:
                          - MGMT
                      delay:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according toas defined by the date-time production in
                          IETF RFC 3339.
                        format: date-time
                rejectedLcmCoordinations:
                  description: >
                    Information about LCM coordination actions (see clause 12)
                    that were rejected by 503 error which means they can be
                    tried again after a delay. See note 3.
                  type: array
                  items:
                    type: object
                    required:
                      - coordinationActionName
                      - rejectionTime
                      - endpointType
                      - delay
                    properties:
                      coordinationActionName:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      rejectionTime:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according toas defined by the date-time production in
                          IETF RFC 3339.
                        format: date-time
                      endpointType:
                        description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                        type: string
                        enum:
                          - MGMT
                      delay:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according toas defined by the date-time production in
                          IETF RFC 3339.
                        format: date-time
                warnings:
                  description: >
                    Warning messages that were generated while the operation was
                    executing.

                    If the operation has included VNF LCM operations or NS LCM
                    coordination actions and these have resulted in warnings,
                    such warnings should be added to this attribute.
                  type: array
                  items:
                    type: string
                _links:
                  description: |
                    Links to resources related to this resource.
                  type: object
                  required:
                    - self
                    - nsInstance
                  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
                    nsInstance:
                      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
                    cancel:
                      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
                    retry:
                      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
                    rollback:
                      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
                    continue:
                      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
                    fail:
                      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
    IndividualNsLcmOpOcc.Get.200:
      description: >
        200 OK

        Shall be returned when information about an NS LCM operation occurrence
        has been read successfully. The response

        body shall contain status information about an NS lifecycle management
        operation occurrence (see clause 6.5.2.3).
      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:
            description: "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1:\tThis allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2:\tA coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3:\tThe list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED” and \"ROLLED_BACK\".\n"
            type: object
            required:
              - id
              - operationState
              - statusEnteredTime
              - nsInstanceId
              - lcmOperationType
              - startTime
              - isAutomaticInvocation
              - isCancelPending
              - _links
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              operationState:
                description: >
                  Value | Description ------|------------ PROCESSING | The LCM
                  operation is currently in execution. COMPLETED | The LCM
                  operation has been completed successfully. PARTIALLY_COMPLETED
                  | The LCM operation has been partially completed with
                  accepTable errors. FAILED_TEMP | The LCM operation has failed
                  and execution has stopped, but the execution of the operation
                  is not considered to be closed. FAILED | The LCM operation has
                  failed and it cannot be retried or rolled back, as it is
                  determined that such action will not succeed. OLLING_BACK |
                  The LCM operation is currently being rolled back. ROLLED_BACK
                  | The LCM operation has been successfully rolled back, i.e.
                  The state of the NS prior to the original operation invocation
                  has been restored as closely as possible.
                type: string
                enum:
                  - PROCESSING
                  - COMPLETED
                  - PARTIALLY_COMPLETED
                  - FAILED_TEMP
                  - FAILED
                  - ROLLING_BACK
                  - ROLLED_BACK
              stateEnteredTime:
                description: >
                  Date-time stamp. Representation: String formatted according
                  toas defined by the date-time production in IETF RFC 3339.
                format: date-time
              nsInstanceId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              lcmOperationType:
                description: >
                  The enumeration NsLcmOpType represents those lifecycle
                  operations that trigger a NS lifecycle management operation
                  occurrence notification. Value | Description
                  ------|------------ INSTANTIATE | Represents the "Instantiate
                  NS" LCM operation. SCALE | Represents the "Scale NS" LCM
                  operation. UPDATE | Represents the "Update NS" LCM operation.
                  TERMINATE | Represents the "Terminate NS" LCM operation. HEAL
                  | Represents the "Heal NS" LCM operation.
                type: string
                enum:
                  - INSTANTIATE
                  - SCALE
                  - UPDATE
                  - TERMINATE
                  - HEAL
              startTime:
                description: >
                  Date-time stamp. Representation: String formatted according
                  toas defined by the date-time production in IETF RFC 3339.
                format: date-time
              isAutomaticInvocation:
                description: >
                  Set to true if this NS LCM operation occurrence has been
                  automatically triggered by the NFVO. This occurs in the case
                  of auto-scaling, auto-healing and when a nested NS is modified
                  as a result of an operation on its composite NS. Set to false
                  otherwise.
                type: boolean
              operationParams:
                description: >
                  Input parameters of the LCM operation. This attribute shall be
                  formatted according to the request data type of the related
                  LCM operation. In addition, the provisions in clause 6.7 shall
                  apply. The following mapping between lcmOperationType and the
                  data type of this attribute shall apply: - INSTANTIATE:
                  InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE:
                  UpdateNsRequest - HEAL: HealNsRequest - TERMINATE:
                  TerminateNsRequest This attribute shall be present if this
                  data type is returned in a response to reading an individual
                  resource, and may be present according to the chosen attribute
                  selector parameter if this data type is returned in a response
                  to a query of a container resource.
                type: string
                enum:
                  - INSTANTIATE
                  - SCALE
                  - UPDATE
                  - HEAL
                  - TERMINATE
              isCancelPending:
                description: >
                  If the LCM operation occurrence is in "PROCESSING" or
                  "ROLLING_BACK" state and the operation is being cancelled,
                  this attribute shall be set to true. Otherwise, it shall be
                  set to false.
                type: boolean
              cancelMode:
                description: >
                  Cancellation mode.

                  The NFVO shall not start any new VNF lifecycle management and
                  resource management operation, and shall wait for the ongoing
                  VNF lifecycle management and resource management operations in
                  the underlying system, typically the VNFM and VIM, to finish
                  execution or to time out. After that, the NFVO shall put the
                  operation occurrence into the FAILED_TEMP state.

                  The NFVO shall not start any new VNF lifecycle management and
                  resource management operation, shall cancel the ongoing VNF
                  lifecycle management and resource management operations in the
                  underlying system, typically the VNFM and VIM, and shall wait
                  for the cancellation to finish or to time out. After that, the
                  NFVO shall put the operation occurrence into the FAILED_TEMP
                  state.
                type: string
                enum:
                  - GRACEFUL
                  - FORCEFUL
              error:
                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
              resourceChanges:
                description: >
                  This attribute contains information about the cumulative
                  changes to virtualised resources that were performed so far by
                  the LCM operation since its start, if applicable
                type: object
                properties:
                  affectedVnfs:
                    description: >
                      Information about the VNF instances that were affected
                      during the lifecycle operation, if this notification
                      represents the result of a lifecycle operation. See note
                      1.
                    type: array
                    items:
                      description: "This type provides information about added, deleted and modified VNFs.\nNOTE:\tAt least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n"
                      type: object
                      required:
                        - vnfInstanceId
                        - vnfdId
                        - vnfProfileId
                        - vnfName
                        - changeType
                        - changeResult
                      anyOf:
                        - required:
                            - changedExtConnectivity
                        - oneOf:
                            - required:
                                - changedVnfInfo
                            - required:
                                - modificationsTriggeredByVnfPkgChange
                      properties:
                        vnfInstanceId:
                          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
                        vnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        vnfName:
                          description: |
                            Name of the VNF Instance.
                          type: string
                        changeType:
                          description: "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY -\tCHANGE_VNFPKG\n"
                          type: string
                          enum:
                            - ADD
                            - REMOVE
                            - INSTANTIATE
                            - TERMINATE
                            - SCALE
                            - CHANGE_FLAVOUR
                            - HEAL
                            - OPERATE
                            - MODIFY_INFORMATION
                            - CHANGE_EXTERNAL_VNF_CONNECTIVITY
                            - CHANGE_VNFPKG
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: -
                            COMPLETED - ROLLED_BACK - FAILED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
                        changedInfo:
                          description: >
                            Information about the changed VNF instance
                            information, including VNF configurable
                            properties,if applicable. When the "changedInfo"
                            attribute is present,  either the "changedVnfInfo"
                            attribute or the "changedExtConnectivity" attribute
                            or both shall be present.
                          type: object
                          anyOf:
                            - required:
                                - changedVnfInfo
                            - required:
                                - changedVnfInfo
                            - required:
                                - modificationsTriggeredByVnfPkgChange
                          oneOf:
                            - required:
                                - changedVnfInfo
                            - required:
                                - modificationsTriggeredByVnfPkgChange
                          properties:
                            changedVnfInfo:
                              description: >
                                This type represents the information that is
                                requested to be modified for a VNF instance. The
                                information to be modified shall comply with the
                                associated NSD. EXAMPLE. The vnfPkgId attribute
                                value for a particular VNF instance can only be
                                updated with a value that matches the identifier
                                value of a VNF package whose vnfdId is present
                                in the associated profile of the NSD.
                              type: object
                              required:
                                - vnfInstanceId
                              properties:
                                vnfInstanceId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfInstanceName:
                                  description: >
                                    New value of the "vnfInstanceName" attribute
                                    in "VnfInstance", or "null" to remove the
                                    attribute.
                                  type: string
                                vnfInstanceDescription:
                                  description: >
                                    New value of the "vnfInstanceDescription"
                                    attribute in "VnfInstance", or "null" to
                                    remove the attribute.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfConfigurableProperties:
                                  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
                                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
                                extensions:
                                  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
                            changedExtConnectivity:
                              description: >
                                Information about changed external connectivity,
                                if applicable. Only information about external
                                VL instances that have been added or modified
                                shall be provided. See note.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  extLinkPorts:
                                    description: |
                                      Link ports of this VL.
                                    type: array
                                    items:
                                      description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                      type: object
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        secondaryCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                  currentVnfExtCpData:
                                    description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                    type: object
                                    required:
                                      - cpdId
                                    properties:
                                      cpdId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      cpConfig:
                                        description: >
                                          Map of instance data that need to be
                                          configured on the CP instances  created
                                          from the respective CPD. The key of the
                                          map which identifies  the individual
                                          VnfExtCpConfig entries is of type
                                          "IdentifierInVnf"  and is managed by the
                                          API consumer. The entries shall be
                                          applied by  the VNFM according to the
                                          rules of JSON Merge Patch (see IETF RFC
                                          7396 [11]).  See notes 2, 3 and 4.
                                        type: object
                                        additionalProperties:
                                          description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - linkPortId
                                            - required:
                                                - cpProtocolData
                                          properties:
                                            parentCpConfigId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            linkPortId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            createExtLinkPort:
                                              description: >
                                                Indicates the need to create a dedicated
                                                link port for the external CP. If set to
                                                True, a link port is created. If set to
                                                False, no link port is created. This
                                                attribute is only applicable for
                                                external CP instances without a floating
                                                IP address that expose a VIP CP instance
                                                for which a dedicated IP address is
                                                allocated. It shall be present in that
                                                case and shall be absent otherwise.
                                              type: boolean
                                            cpProtocolData:
                                              description: >
                                                Parameters for configuring the network
                                                protocols on the link port that connects
                                                the CP to a VL. See note 1.
                                              type: array
                                              items:
                                                description: >
                                                  This type represents network protocol
                                                  data.
                                                type: object
                                                required:
                                                  - layerProtocol
                                                properties:
                                                  layerProtocol:
                                                    description: >
                                                      Identifier of layer(s) and protocol(s).
                                                      Permitted values: IP_OVER_ETHERNET.
                                                    type: string
                                                    enum:
                                                      - IP_OVER_ETHERNET
                                                  ipOverEthernet:
                                                    description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                    type: object
                                                    anyOf:
                                                      - required:
                                                          - ipAddresses
                                                      - required:
                                                          - macAddress
                                                    properties:
                                                      macAddress:
                                                        description: >
                                                          A MAC address. Representation: string
                                                          that consists of groups of two
                                                          hexadecimal digits, separated by hyphens
                                                          or colons.
                                                        type: string
                                                        format: MAC
                                                      segmentationType:
                                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                        type: string
                                                        enum:
                                                          - VLAN
                                                          - INHERIT
                                                      segmentationId:
                                                        description: >
                                                          Identification of the network segment to
                                                          which the CP instance connects to. See
                                                          note 3 and note 4.
                                                        type: string
                                                      ipAddresses:
                                                        description: >
                                                          List of IP addresses to assign to the CP
                                                          instance. Each entry represents IP
                                                          address data for fixed or dynamic IP
                                                          address assignment per subnet. If this
                                                          attribute is not present, no IP address
                                                          shall be assigned. See note 1.
                                                        type: array
                                                        items:
                                                          type: object
                                                          required:
                                                            - type
                                                          oneOf:
                                                            - required:
                                                                - fixedAddresses
                                                            - required:
                                                                - numDynamicAddresses
                                                            - required:
                                                                - addressRange
                                                          properties:
                                                            type:
                                                              description: >
                                                                The type of the IP addresses. Permitted
                                                                values:
                                                                  - IPV4
                                                                  - IPV6
                                                              type: string
                                                              enum:
                                                                - IPV4
                                                                - IPV6
                                                            fixedAddresses:
                                                              description: >
                                                                Fixed addresses to assign (from the
                                                                subnet defined by "subnetId" if
                                                                provided). Exactly one of
                                                                "fixedAddresses", "numDynamicAddresses"
                                                                or "ipAddressRange" shall be present.
                                                              type: array
                                                              items:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                            numDynamicAddresses:
                                                              description: >
                                                                Number of dynamic addresses to assign
                                                                (from the subnet defined by "subnetId"
                                                                if provided). See note 2.
                                                              type: integer
                                                            addressRange:
                                                              description: >
                                                                An IP address range to be used, e.g. in
                                                                case of egress connections. In case this
                                                                attribute is present, IP addresses from
                                                                the range will be used.
                                                              type: object
                                                              required:
                                                                - minAddress
                                                                - maxAddress
                                                              properties:
                                                                minAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                                maxAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                            subnetId:
                                                              description: >
                                                                An identifier maintained by the VIM or
                                                                other resource provider. It is expected
                                                                to be unique within the VIM instance.
                                                                Representation: string of variable
                                                                length.
                                                              type: string
                            modificationsTriggeredByVnfPkgChange:
                              description: >
                                This type represents attribute modifications
                                that were performed by the VNFM on an
                                "Individual VNF instance"  resource when
                                changing the current VNF package. The
                                "ModificationsTriggeredByVnfPkgChange" data type
                                shall comply with the provisions defined in
                                table 6.5.3.79-1.
                              type: object
                              properties:
                                vnfConfigurableProperties:
                                  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
                                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
                                extensions:
                                  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
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfProvider:
                                  description: >
                                    If present, this attribute signals the new
                                    value of the "vnfProvider" attribute in
                                    "VnfInstance". If present, this attribute
                                    (which depends on the value of the "vnfdId"
                                    attribute) was modified implicitly during
                                    the related operation, and contains a copy
                                    of the value of the related attribute from
                                    the VNFD in the VNF Package identified by
                                    the "vnfdId" attribute.
                                  type: string
                                vnfProductName:
                                  description: >
                                    If present, this attribute signals the new
                                    value of the "vnfProductName" attribute in
                                    "VnfInstance". If present, this attribute
                                    (which depends on the value of the "vnfdId"
                                    attribute) was modified implicitly during
                                    the related operation, and contains a copy
                                    of the value of the related attribute from
                                    the VNFD in the VNF Package identified by
                                    the "vnfdId" attribute.
                                  type: string
                                vnfSoftwareVersion:
                                  description: >
                                    A Version. Representation: string of
                                    variable length.
                                  type: string
                                vnfdVersion:
                                  description: >
                                    A Version. Representation: string of
                                    variable length.
                                  type: string
                  affectedPnfs:
                    description: >
                      Information about the PNF instances that were affected
                      during the lifecycle operation, if this notification
                      represents the result of a lifecycle operation. See note
                      1.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted and
                        modified PNFs.  It shall comply with the provisions in
                        Table 6.5.3.3-1.
                      type: object
                      required:
                        - pnfId
                        - pnfdId
                        - pnfProfileId
                        - cpInstanceId
                      properties:
                        pnfId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        pnfdId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        pnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        pnfName:
                          description: |
                            Name of the PNF.
                          type: string
                        cpInstanceId:
                          description: |
                            Identifier of the CP in the scope of the PNF.
                          type: array
                          items:
                            description: >
                              An Identifier that is unique within respect to a
                              PNF. Representation: string of variable length.
                            type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: - ADD
                            - REMOVE - MODIFY
                          type: string
                          enum:
                            - ADD
                            - REMOVE
                            - MODIFY
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: -
                            COMPLETED - ROLLED_BACK - FAILED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
                  affectedVls:
                    description: >
                      Information about the VL instances that were affected
                      during the lifecycle operation, if this notification
                      represents the result of a lifecycle operation. See note
                      1.
                    type: array
                    items:
                      description: "This type provides information about added, deleted, modified and temporary VLs. NOTE:\tThe resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n"
                      type: object
                      required:
                        - nsVirtualLinkInstanceId
                        - nsVirtualLinkDescId
                        - vlProfileId
                        - changeType
                        - changeResult
                      properties:
                        nsVirtualLinkInstanceId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        nsVirtualLinkDescId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        vlProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: * ADD
                            * DELETE * MODIFY * ADD_LINK_PORT * REMOVE_LINK_PORT
                          type: string
                          enum:
                            - ADD
                            - DELETE
                            - MODIFY
                            - ADD_LINK_PORT
                            - REMOVE_LINK_PORT
                        linkPortIds:
                          description: >
                            Identifiers of the link ports of the affected VL
                            related to the change. Each identifier references an
                            "NsLinkPortInfo" structure.

                            Shall be set when changeType is equal to
                            "ADD_LINK_PORT" or "REMOVE_LINK_PORT", and the
                            related "NsLinkPortInfo" structures are present
                            (case "add") or have been present (case "remove") in
                            the "NsVirtualLinkInfo" structure that is
                            represented by the "virtualLink¬Info" attribute in
                            the "NsInstance" structure. See note.
                          type: array
                          items:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: *
                            COMPLETED * ROLLED_BACK * FAILED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
                  affectedVnffgs:
                    description: >
                      Information about the VNFFG instances that were affected
                      during the lifecycle operation, if this notification
                      represents the result of a lifecycle operation. See note
                      1.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted and
                        modified VNFFG instances. It shall comply with the
                        provisions in Table 6.5.3.5-1.
                      type: object
                      required:
                        - vnffgInstanceId
                        - vnffgdId
                      properties:
                        vnffgInstanceId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        vnffgdId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: - ADD
                            - DELETE - MODIFY
                          type: string
                          enum:
                            - ADD
                            - DELETE
                            - MODIFY
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: -
                            COMPLETED - ROLLED_BACK - FAILED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
                  affectedNss:
                    description: >
                      Information about the nested NS instances that were
                      affected during the lifecycle operation, if this
                      notification represents the result of a lifecycle
                      operation. See note 1.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted and
                        modified nested NSs. It shall comply with the provisions
                        in Table 6.5.3.6-1.
                      type: object
                      required:
                        - nsInstanceId
                        - nsdId
                        - changeType
                        - changeResult
                      properties:
                        nsInstanceId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        nsdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        changeType:
                          description: >
                            Signals the type of lifecycle change. Permitted
                            values: - ADD - REMOVE - INSTANTIATE - SCALE -
                            UPDATE - HEAL - TERMINATE
                          type: string
                          enum:
                            - ADD
                            - REMOVE
                            - INSTANTIATE
                            - SCALE
                            - UPDATE
                            - HEAL
                            - TERMINATE
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: -
                            COMPLETED - ROLLED_BACK - FAILED -
                            PARTIALLY_COMPLETED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
                            - PARTIALLY_COMPLETED
                        changedInfo:
                          description: >
                            Information about the changed NS instance
                            information, if applicable.
                          type: object
                          properties:
                            wanConnectionInfoModifications:
                              description: >
                                Information about the modified WAN related
                                connectivity information, if applicable.
                              type: array
                              items:
                                description: >
                                  This type represents attribute modifications
                                  that were performed on WAN connection
                                  information. The attributes that can be
                                  included consist of those requested to be
                                  modified explicitly with the "UpdateNsRequest"
                                  data structure. It shall comply with the
                                  provisions defined in table 6.5.3.93-1.
                                type: object
                                required:
                                  - wanConnectionInfoId
                                properties:
                                  wanConnectionInfoId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  mscsName:
                                    description: >
                                      If present, this attribute signals
                                      modifications of the "mscsName" attribute
                                      in "MscsInfo" as defined in clause
                                      6.5.3.82.
                                    type: string
                                  mscsDescription:
                                    description: >
                                      If present, this attribute signals
                                      modifications of the "mscsDescription"
                                      attribute in "MscsInfo" as defined in
                                      clause 6.5.3.82.
                                    type: string
                                  mscsEndpoints:
                                    description: >
                                      If present, this attribute signals
                                      modifications of certain entries in the
                                      "mscsEndpoints" attribute array in
                                      "MscsInfo", as defined in clause 6.5.3.82.
                                    type: array
                                    items:
                                      description: >
                                        This type provides encapsulates
                                        information about an MSCS endpoint of
                                        the MSCS. It shall comply with the
                                        provisions defined in table 6.5.3.83-1.
                                      type: object
                                      required:
                                        - mscsEndpointId
                                        - directionality
                                        - connectivityServiceEndpoinId
                                      properties:
                                        mscsEndpointId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        directionality:
                                          description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                          type: string
                                          enum:
                                            - INBOUND
                                            - OUTBOUND
                                            - BOTH
                                        connectivityServiceEndpoinId:
                                          description: >
                                            References the connectivity service
                                            endpoint configuration information
                                            applicable to support the MSCS endpoint.
                                            More than one connectivity service
                                            endpoint can be referred when endpoints
                                            are in LAG mode.
                                          type: array
                                          items:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                  removeMscsEndpointIds:
                                    description: >
                                      If present, this attribute signals the
                                      deletion of certain entries in the
                                      "mscsEndpoints" attribute array in
                                      "MscsInfo", as defined in clause 6.5.3.82.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                  connectivityServiceEndpoints:
                                    description: >
                                      If present, this attribute signals
                                      modifications of certain entries in the
                                      "connectivityServiceEndpoints" attribute
                                      array in "WanConnectionProtocolInfo", as
                                      defined in clause 6.5.3.91.
                                    type: array
                                    items:
                                      description: >
                                        This type provides configuration data
                                        for the NFVI-PoP network gateway
                                        providing connectivity service
                                        endpoints. The connectivity service
                                        endpoints are used as endpoints by an
                                        MSCS. It shall comply with the
                                        provisions defined in Table 6.5.3.84-1.
                                      type: object
                                      required:
                                        - connectivityServiceEndpointId
                                        - vimId
                                      properties:
                                        connectivityServiceEndpointId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        siteToWanLayer2ProtocolData:
                                          description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                          type: object
                                          required:
                                            - layer2ConnectionInfo
                                          properties:
                                            layer2ConnectionInfo:
                                              description: >
                                                Layer 2 protocol parameters of the
                                                connectivity service endpoint (CSE).
                                              type: object
                                              required:
                                                - connectionType
                                                - interfaceType
                                                - interfaceTagging
                                                - encapsulationType
                                              properties:
                                                connectionType:
                                                  description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                                  type: string
                                                  enum:
                                                    - CSE
                                                    - AGGREGATE_CSE
                                                interfaceType:
                                                  description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                                  type: string
                                                  enum:
                                                    - PARENT
                                                    - LOGICAL
                                                interfaceTagging:
                                                  description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                                  type: string
                                                  enum:
                                                    - UNTAGGED
                                                    - TAGGED
                                                encapsulationType:
                                                  description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                                  type: string
                                                  enum:
                                                    - ETH
                                                    - VLAN
                                                    - VXLAN
                                                vlanTaggingType:
                                                  description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                                  type: string
                                                  enum:
                                                    - DOT1Q
                                                    - QINQ
                                                    - QINANY
                                                wanSegmentIds:
                                                  description: >
                                                    Segment identifiers to pass on the
                                                    tagged interface. Shall be present if
                                                    encapsulationType="VLAN" or “VXLAN".
                                                  type: object
                                                  required:
                                                    - wanSegmentIdValue
                                                  properties:
                                                    wanSegmentIdValue:
                                                      description: >
                                                        Identifier of the network segment (e.g.,
                                                        VLAN id or VNI).
                                                      type: string
                                                    wanSegmentIdUpperRange:
                                                      description: >
                                                        Identifier of the upper range network
                                                        segment, in case the "wanSegmentIds" is
                                                        used to define a range.
                                                      type: string
                                                vxlanConfig:
                                                  description: >
                                                    Additional configuration needed when
                                                    using VXLAN encapsulation. Shall be
                                                    present if interfaceTagging="TAGGED" and
                                                    encapsulationType="VXLAN".
                                                  type: object
                                                  required:
                                                    - peerMode
                                                  properties:
                                                    peerMode:
                                                      description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                                      type: string
                                                      enum:
                                                        - STATIC
                                                        - BGP_EVPN
                                                    peers:
                                                      description: >
                                                        List of IP addresses of VTEP peers when
                                                        using static mode.
                                                      type: array
                                                      items:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                lagInterfaceData:
                                                  description: >
                                                    Information for setting up a LAG
                                                    interface aggregating multiple
                                                    connectivity service endpoints.
                                                  type: object
                                                  required:
                                                    - aggregatedEndpoints
                                                    - lacpActivation
                                                    - lacpConfig
                                                  properties:
                                                    aggregatedEndpoints:
                                                      description: >
                                                        List of the connectivity service
                                                        endpoints that are to be aggregated.
                                                        Shall be present if
                                                        connectionType="AGGREGATE_CSE". In case
                                                        of aggregating connectivity service
                                                        endpoints, only one
                                                        SiteToWanLayer2ProtocolData shall be
                                                        provided for the whole set of aggregated
                                                        endpoints.
                                                      type: array
                                                      items:
                                                        description: >
                                                          An identifier with the intention of
                                                          being globally unique.
                                                        type: string
                                                    lacpActivation:
                                                      description: >
                                                        Indicates whether to activate LACP on
                                                        the interface. If "TRUE", the LACP is to
                                                        be activated, or "FALSE" otherwise.
                                                        Default value is "FALSE".
                                                      type: boolean
                                                    lacpConfig:
                                                      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
                                                layer2ControlProtocol:
                                                  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
                                            mtuL2:
                                              description: >
                                                Maximum Transmission Unit (MTU) that can
                                                be forwarded at layer 2 (in bytes).
                                                Default value is "1500" (bytes).
                                              type: number
                                            virtualRoutingAndForwarding:
                                              description: >
                                                Configuration related to the L2 virtual
                                                routing and forwarding (MAC-VRF).
                                              type: object
                                              required:
                                                - macVrfName
                                              properties:
                                                macVrfName:
                                                  description: >
                                                    Name (or identifier) of the MAC-VRF
                                                    instance.
                                                  type: string
                                            forwardingConfig:
                                              description: >
                                                Information related to the forwarding of
                                                the VN in the NFVI-PoP to the
                                                connectivity service endpoint, if
                                                information about the VN to "stitch" is
                                                already known. . by the OSS/BSS. Shall
                                                not be provided otherwise, in which case
                                                the NFVO will infer the forwarding
                                                configuration based on the NS VL, or
                                                external VL, or externally-managed VL
                                                provisioning.
                                              type: object
                                              oneOf:
                                                - required:
                                                    - networkResources
                                                - required:
                                                    - vnSegmentIds
                                              properties:
                                                networkResources:
                                                  description: >
                                                    Reference to the VN resource to be
                                                    forwarded into/from the MSCS. See note.
                                                  type: array
                                                  items:
                                                    description: >
                                                      This type represents the information
                                                      that allows addressing a virtualised
                                                      resource that is used by a VNF instance
                                                      or by an NS instance. Information about
                                                      the resource is available from the VIM.
                                                      NOTE: The value set of the
                                                      "vimLevelResourceType" attribute is
                                                      within the scope of the VIM, the WIM or
                                                      the resource provider and can be used as
                                                      information that complements the
                                                      ResourceHandle.
                                                    type: object
                                                    required:
                                                      - resourceId
                                                    properties:
                                                      vimId:
                                                        description: >
                                                          An identifier with the intention of
                                                          being globally unique.
                                                        type: string
                                                      resourceProviderId:
                                                        description: >
                                                          An identifier with the intention of
                                                          being globally unique.
                                                        type: string
                                                      resourceId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                                                      vimLevelResourceType:
                                                        description: >
                                                          Type of the resource in the scope of the
                                                          VIM, the WIM or the resource provider.
                                                          The value set of the
                                                          "vimLevelResourceType" attribute is
                                                          within the scope of the VIM, the WIM or
                                                          the resource provider and can be used as
                                                          information that complements the
                                                          ResourceHandle. See note.
                                                        type: string
                                                vnSegmentIds:
                                                  description: >
                                                    Identifiers of the network segments of
                                                    the VN resources to be forwarded
                                                    into/from the MSCS.
                                                  type: object
                                                  required:
                                                    - vnSegmentIdValue
                                                  properties:
                                                    vnSegmentIdValue:
                                                      description: |
                                                        Identifier of the network segment.
                                                      type: string
                                                    vnSegmentIdUpperRange:
                                                      description: >
                                                        Identifier of the upper range network
                                                        segment, in case the "vnSegmentIds" is
                                                        used to define a range.
                                                      type: string
                                        siteToWanLayer3ProtocolData:
                                          description: >
                                            This type provides information about
                                            Layer 3 protocol specific information
                                            for the stitching of the intra-site VN
                                            to the multi-site connectivity service
                                            over the WAN. It shall comply with the
                                            provisions defined in Table 6.5.3.86-1.
                                          type: object
                                          required:
                                            - routingInfo
                                          properties:
                                            logicalInterfaceIpAddress:
                                              description: >
                                                IP addressing information associated to
                                                a logical interface. Shall be present if
                                                the "interfaceType" of the
                                                SiteToWanLayer2ProtocolData is equal to
                                                "LOGICAL".
                                              type: object
                                              required:
                                                - ipAddress
                                                - associatedSegmentId
                                              properties:
                                                ipAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                associatedSegmentId:
                                                  description: >
                                                    The associated segment identifier that
                                                    has triggered the creation of the
                                                    logical interface. The value shall be
                                                    one of the values listed in the
                                                    "wanSegmentIds" of the
                                                    "siteToWanLayer2ProtocolData".
                                                  type: string
                                            routingInfo:
                                              description: >
                                                The routing information that is
                                                activated on the connectivity service
                                                endpoint. More than one "routingInfo" is
                                                allowed to enable stacking different
                                                routing protocols (e.g., one routing
                                                protocol for IPv4 and another one for
                                                IPv6).
                                              type: object
                                              required:
                                                - routingProtocol
                                                - routingAddressFamily
                                              properties:
                                                routingProtocol:
                                                  description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                                  type: string
                                                  enum:
                                                    - BGP
                                                    - RIP
                                                    - OSPF
                                                    - STATIC
                                                    - DIRECT
                                                    - VRRP
                                                staticRouting:
                                                  description: >
                                                    Defines a static route. It shall only be
                                                    present if the routingProtocol="STATIC".
                                                  type: object
                                                  required:
                                                    - ipVersion
                                                    - ipPrefix
                                                    - prefixSize
                                                    - nextHop
                                                  properties:
                                                    ipVersion:
                                                      description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                                      type: string
                                                      enum:
                                                        - IPV4
                                                        - IPV6
                                                    ipPrefix:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    prefixSize:
                                                      description: |
                                                        The IP prefix size.
                                                      type: number
                                                    nextHop:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                routingAddressFamily:
                                                  description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPv6
                                                ospfRouting:
                                                  description: >
                                                    Defines parameters for OSPF routing. It
                                                    shall only be present if the
                                                    routingProtocol="OSPF".
                                                  type: object
                                                  required:
                                                    - areaId
                                                  properties:
                                                    areaId:
                                                      description: >
                                                        The routing area identifier, e.g., a
                                                        number or an IP address.
                                                      type: string
                                                bgpRouting:
                                                  description: >
                                                    Defines parameters for BGP routing. It
                                                    shall only be present if the
                                                    routingProtocol="BGP".
                                                  type: object
                                                  required:
                                                    - bgpAs
                                                  properties:
                                                    bgpAs:
                                                      description: >
                                                        The Autonomous System (AS)
                                                        identification applicable to the BGP
                                                        routing info entry.
                                                      type: object
                                                    bgpNeighbour:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    bgpAdditionalParam:
                                                      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
                                                routeMapsDistribution:
                                                  description: >
                                                    Maps of routes that are permitted or
                                                    denied for redistribution.
                                                  type: object
                                                  required:
                                                    - policy
                                                    - sequence
                                                    - matchAndSetRule
                                                  properties:
                                                    policy:
                                                      description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                                      type: string
                                                      enum:
                                                        - PERMIT
                                                        - DENY
                                                    sequence:
                                                      description: >
                                                        Sequence or index number assigned to the
                                                        route-map.
                                                      type: number
                                                    matchAndSetRule:
                                                      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
                                            mtuL3:
                                              description: >
                                                Maximum Transmission Unit (MTU) that can
                                                be forwarded at layer 3 (in bytes).
                                                Default value is "1500" (bytes).
                                              type: number
                                            virtualRoutingAndForwarding:
                                              description: >
                                                Configuration related to the virtual
                                                routing and forwarding (VRF).
                                              type: object
                                              required:
                                                - vrfName
                                              properties:
                                                vrfName:
                                                  description: >
                                                    Name (or identifier) of the VRF
                                                    instance.
                                                  type: string
                                            bfdConfig:
                                              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
                                  removeConnectivityServiceEndpoints:
                                    description: >
                                      If present, this attribute signals the
                                      deletion of certain entries in the
                                      "connectivityServiceEndpoints" attribute
                                      array in "WanConnectionProtocolInfo", as
                                      defined in clause 6.5.3.91.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                  affectedSaps:
                    description: >
                      Information about the nested NS instances that were
                      affected during the lifecycle operation, if this
                      notification represents the result of a lifecycle
                      operation. See note 1.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted and
                        modified SAP of a NS. It shall comply with the
                        provisions in Table 6.5.3.7-1.
                      type: object
                      required:
                        - sapInstanceId
                        - sapdId
                      properties:
                        sapInstanceId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        sapdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        sapName:
                          description: |
                            Human readable name for the SAP.
                          type: string
                        changeType:
                          description: >
                            Signals the type of lifecycle change. Permitted
                            values: - ADD - REMOVE - MODIFY
                          type: string
                          enum:
                            - ADD
                            - REMOVE
                            - MODIFY
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: -
                            COMPLETED - ROLLED_BACK - FAILED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
              lcmCoordinations:
                description: >
                  Information about LCM coordination actions (see clause 12)
                  related to this LCM operation occurrence.
                type: array
                items:
                  type: object
                  required:
                    - id
                    - coordinationActionName
                    - startTime
                    - endpointType
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    coordinationActionName:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    coordinationResult:
                      description: >
                        The enumeration LcmCoordResultType defines the permitted
                        values to represent the result 

                        of executing an LCM coordination action. The
                        coordination result also implies the action 

                        to be performed by the NFVO as the follow-up to this
                        coordination. The LcmCoordResultType 

                        shall comply with the provisions defined in table
                        12.5.4.3.-1.


                        - CONTINUE: The related LCM operation shall be
                        continued, staying in the state "PROCESSING".

                        - ABORT: The related LCM operation shall be aborted by
                        transitioning into the state "FAILED_TEMP".

                        - CANCELLED: The coordination action has been cancelled
                        upon request of the API consumer, 
                                     i.e. the NFVO. The related LCM operation shall be aborted by transitioning into 
                                     the state "FAILED_TEMP".
                      type: string
                      enum:
                        - CONTINUE
                        - ABORT
                        - CACELLED
                    startTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    endTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    endpointType:
                      description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                      type: string
                      enum:
                        - MGMT
                    delay:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
              rejectedLcmCoordinations:
                description: >
                  Information about LCM coordination actions (see clause 12)
                  that were rejected by 503 error which means they can be tried
                  again after a delay. See note 3.
                type: array
                items:
                  type: object
                  required:
                    - coordinationActionName
                    - rejectionTime
                    - endpointType
                    - delay
                  properties:
                    coordinationActionName:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    rejectionTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    endpointType:
                      description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                      type: string
                      enum:
                        - MGMT
                    delay:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
              warnings:
                description: >
                  Warning messages that were generated while the operation was
                  executing.

                  If the operation has included VNF LCM operations or NS LCM
                  coordination actions and these have resulted in warnings, such
                  warnings should be added to this attribute.
                type: array
                items:
                  type: string
              _links:
                description: |
                  Links to resources related to this resource.
                type: object
                required:
                  - self
                  - nsInstance
                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
                  nsInstance:
                    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
                  cancel:
                    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
                  retry:
                    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
                  rollback:
                    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
                  continue:
                    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
                  fail:
                    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
    NsLcmOpOccRetry.Post.202:
      description: >
        202 ACCEPTED


        Shall be returned when the request has been accepted for processing, but
        processing has not been completed.

        The response shall have an empty payload body.
      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: {}
    NsLcmOpOccRetry.Post.404:
      description: >
        404 NOT FOUND


        Shall be returned upon the following error: The API producer did not
        find a current representation for the

        target resource or is not willing to disclose that one exists.

        The general cause for this error and its handling is specified in clause
        6.4 of ETSI GS NFV-SOL 013 [16],

        including rules for the presence of the response body.

        Specifically in case of this task resource, the response code 404 shall
        also be returned if the task is not

        supported for the NS LCM operation occurrence represented by the parent
        resource, which means that the task resource consequently does not
        exist.

        In this case, the response body shall be present, and shall contain a
        ProblemDetails structure, in which the

        "detail" attribute shall convey more information about the error.
      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: >
              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
    NsLcmOpOccRetry.Post.409:
      description: >
        409 CONFLICT


        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a conflict with

        the state of the NS LCM operation occurrence resource.

        Typically, this is due to the fact that the NS LCM operation occurrence
        is not in FAILED_TEMP state, or another

        error handling action is starting, such as rollback or fail.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey more

        information about the error.
      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: >
              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
    NsLcmOpOccRollback.Post.202:
      description: >
        202 ACCEPTED


        Shall be returned when the request has been accepted for processing, but
        processing has not been completed.

        The response shall have an empty payload body.
      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: {}
    NsLcmOpOccRollback.Post.404:
      description: >
        404 NOT FOUND


        Shall be returned upon the following error: The API producer did not
        find a current representation for the

        target resource or is not willing to disclose that one exists.

        The general cause for this error and its handling is specified in clause
        6.4 of ETSI GS NFV-SOL 013 [16],

        including rules for the presence of the response body.

        Specifically, in case of this task resource, the response code 404 shall
        also be returned if the task is not

        supported for the NS LCM operation occurrence represented by the parent
        resource, which means that the task resource consequently does not
        exist.

        In this case, the response body shall be present, and shall contain a
        ProblemDetails structure, in which the

        "detail" attribute shall convey more information about the error.
      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: >
              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
    NsLcmOpOccRollback.Post.409:
      description: >
        409 CONFLICT


        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a conflict with

        the state of the NS LCM operation occurrence resource.

        Typically, this is due to the fact that the NS LCM operation occurrence
        is not in FAILED_TEMP state, or another

        error handling action is starting, such as retry or fail.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey more

        information about the error.
      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: >
              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
    NsLcmOpOccContinue.Post.202:
      description: >
        202 ACCEPTED


        Shall be returned when the request has been accepted for processing, but
        processing has not been completed.

        The response shall have an empty payload body.
      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: {}
    NsLcmOpOccContinue.Post.404:
      description: >
        404 NOT FOUND


        Shall be returned upon the following error: The API producer did not
        find a current representation for the

        target resource or is not willing to disclose that one exists.

        The general cause for this error and its handling is specified in clause
        6.4 of ETSI GS NFV-SOL 013 [16],

        including rules for the presence of the response body.

        Specifically, in case of this task resource, the response code 404 shall
        also be returned if the task is not

        supported for the NS LCM operation occurrence represented by the parent
        resource, which means that the task resource consequently does not
        exist.

        In this case, the response body shall be present, and shall contain a
        ProblemDetails structure, in which the

        "detail" attribute shall convey more information about the error.
      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
    NsLcmOpOccContinue.Post.409:
      description: >
        409 CONFLICT


        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a conflict

        with the state of the NS LCM operation occurrence resource.

        Typically, this is due to the fact that the NS LCM operation occurrence
        is not in FAILED_TEMP state, or

        another error handling action is starting, such as retry or fail.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey

        more information about the error.
      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
    NsLcmOpOccFail.Post.200:
      description: >
        200 OK

        Shall be returned when the state of the NS lifecycle management
        operation occurrence has been changed

        successfully. The response shall include a representation of the
        "Individual NS lifecycle management

        operation occurrence" 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:
            description: "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1:\tThis allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2:\tA coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3:\tThe list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED” and \"ROLLED_BACK\".\n"
            type: object
            required:
              - id
              - operationState
              - statusEnteredTime
              - nsInstanceId
              - lcmOperationType
              - startTime
              - isAutomaticInvocation
              - isCancelPending
              - _links
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              operationState:
                description: >
                  Value | Description ------|------------ PROCESSING | The LCM
                  operation is currently in execution. COMPLETED | The LCM
                  operation has been completed successfully. PARTIALLY_COMPLETED
                  | The LCM operation has been partially completed with
                  accepTable errors. FAILED_TEMP | The LCM operation has failed
                  and execution has stopped, but the execution of the operation
                  is not considered to be closed. FAILED | The LCM operation has
                  failed and it cannot be retried or rolled back, as it is
                  determined that such action will not succeed. OLLING_BACK |
                  The LCM operation is currently being rolled back. ROLLED_BACK
                  | The LCM operation has been successfully rolled back, i.e.
                  The state of the NS prior to the original operation invocation
                  has been restored as closely as possible.
                type: string
                enum:
                  - PROCESSING
                  - COMPLETED
                  - PARTIALLY_COMPLETED
                  - FAILED_TEMP
                  - FAILED
                  - ROLLING_BACK
                  - ROLLED_BACK
              stateEnteredTime:
                description: >
                  Date-time stamp. Representation: String formatted according
                  toas defined by the date-time production in IETF RFC 3339.
                format: date-time
              nsInstanceId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              lcmOperationType:
                description: >
                  The enumeration NsLcmOpType represents those lifecycle
                  operations that trigger a NS lifecycle management operation
                  occurrence notification. Value | Description
                  ------|------------ INSTANTIATE | Represents the "Instantiate
                  NS" LCM operation. SCALE | Represents the "Scale NS" LCM
                  operation. UPDATE | Represents the "Update NS" LCM operation.
                  TERMINATE | Represents the "Terminate NS" LCM operation. HEAL
                  | Represents the "Heal NS" LCM operation.
                type: string
                enum:
                  - INSTANTIATE
                  - SCALE
                  - UPDATE
                  - TERMINATE
                  - HEAL
              startTime:
                description: >
                  Date-time stamp. Representation: String formatted according
                  toas defined by the date-time production in IETF RFC 3339.
                format: date-time
              isAutomaticInvocation:
                description: >
                  Set to true if this NS LCM operation occurrence has been
                  automatically triggered by the NFVO. This occurs in the case
                  of auto-scaling, auto-healing and when a nested NS is modified
                  as a result of an operation on its composite NS. Set to false
                  otherwise.
                type: boolean
              operationParams:
                description: >
                  Input parameters of the LCM operation. This attribute shall be
                  formatted according to the request data type of the related
                  LCM operation. In addition, the provisions in clause 6.7 shall
                  apply. The following mapping between lcmOperationType and the
                  data type of this attribute shall apply: - INSTANTIATE:
                  InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE:
                  UpdateNsRequest - HEAL: HealNsRequest - TERMINATE:
                  TerminateNsRequest This attribute shall be present if this
                  data type is returned in a response to reading an individual
                  resource, and may be present according to the chosen attribute
                  selector parameter if this data type is returned in a response
                  to a query of a container resource.
                type: string
                enum:
                  - INSTANTIATE
                  - SCALE
                  - UPDATE
                  - HEAL
                  - TERMINATE
              isCancelPending:
                description: >
                  If the LCM operation occurrence is in "PROCESSING" or
                  "ROLLING_BACK" state and the operation is being cancelled,
                  this attribute shall be set to true. Otherwise, it shall be
                  set to false.
                type: boolean
              cancelMode:
                description: >
                  Cancellation mode.

                  The NFVO shall not start any new VNF lifecycle management and
                  resource management operation, and shall wait for the ongoing
                  VNF lifecycle management and resource management operations in
                  the underlying system, typically the VNFM and VIM, to finish
                  execution or to time out. After that, the NFVO shall put the
                  operation occurrence into the FAILED_TEMP state.

                  The NFVO shall not start any new VNF lifecycle management and
                  resource management operation, shall cancel the ongoing VNF
                  lifecycle management and resource management operations in the
                  underlying system, typically the VNFM and VIM, and shall wait
                  for the cancellation to finish or to time out. After that, the
                  NFVO shall put the operation occurrence into the FAILED_TEMP
                  state.
                type: string
                enum:
                  - GRACEFUL
                  - FORCEFUL
              error:
                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
              resourceChanges:
                description: >
                  This attribute contains information about the cumulative
                  changes to virtualised resources that were performed so far by
                  the LCM operation since its start, if applicable
                type: object
                properties:
                  affectedVnfs:
                    description: >
                      Information about the VNF instances that were affected
                      during the lifecycle operation, if this notification
                      represents the result of a lifecycle operation. See note
                      1.
                    type: array
                    items:
                      description: "This type provides information about added, deleted and modified VNFs.\nNOTE:\tAt least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n"
                      type: object
                      required:
                        - vnfInstanceId
                        - vnfdId
                        - vnfProfileId
                        - vnfName
                        - changeType
                        - changeResult
                      anyOf:
                        - required:
                            - changedExtConnectivity
                        - oneOf:
                            - required:
                                - changedVnfInfo
                            - required:
                                - modificationsTriggeredByVnfPkgChange
                      properties:
                        vnfInstanceId:
                          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
                        vnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        vnfName:
                          description: |
                            Name of the VNF Instance.
                          type: string
                        changeType:
                          description: "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY -\tCHANGE_VNFPKG\n"
                          type: string
                          enum:
                            - ADD
                            - REMOVE
                            - INSTANTIATE
                            - TERMINATE
                            - SCALE
                            - CHANGE_FLAVOUR
                            - HEAL
                            - OPERATE
                            - MODIFY_INFORMATION
                            - CHANGE_EXTERNAL_VNF_CONNECTIVITY
                            - CHANGE_VNFPKG
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: -
                            COMPLETED - ROLLED_BACK - FAILED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
                        changedInfo:
                          description: >
                            Information about the changed VNF instance
                            information, including VNF configurable
                            properties,if applicable. When the "changedInfo"
                            attribute is present,  either the "changedVnfInfo"
                            attribute or the "changedExtConnectivity" attribute
                            or both shall be present.
                          type: object
                          anyOf:
                            - required:
                                - changedVnfInfo
                            - required:
                                - changedVnfInfo
                            - required:
                                - modificationsTriggeredByVnfPkgChange
                          oneOf:
                            - required:
                                - changedVnfInfo
                            - required:
                                - modificationsTriggeredByVnfPkgChange
                          properties:
                            changedVnfInfo:
                              description: >
                                This type represents the information that is
                                requested to be modified for a VNF instance. The
                                information to be modified shall comply with the
                                associated NSD. EXAMPLE. The vnfPkgId attribute
                                value for a particular VNF instance can only be
                                updated with a value that matches the identifier
                                value of a VNF package whose vnfdId is present
                                in the associated profile of the NSD.
                              type: object
                              required:
                                - vnfInstanceId
                              properties:
                                vnfInstanceId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfInstanceName:
                                  description: >
                                    New value of the "vnfInstanceName" attribute
                                    in "VnfInstance", or "null" to remove the
                                    attribute.
                                  type: string
                                vnfInstanceDescription:
                                  description: >
                                    New value of the "vnfInstanceDescription"
                                    attribute in "VnfInstance", or "null" to
                                    remove the attribute.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfConfigurableProperties:
                                  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
                                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
                                extensions:
                                  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
                            changedExtConnectivity:
                              description: >
                                Information about changed external connectivity,
                                if applicable. Only information about external
                                VL instances that have been added or modified
                                shall be provided. See note.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  extLinkPorts:
                                    description: |
                                      Link ports of this VL.
                                    type: array
                                    items:
                                      description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                      type: object
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        secondaryCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                  currentVnfExtCpData:
                                    description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                    type: object
                                    required:
                                      - cpdId
                                    properties:
                                      cpdId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      cpConfig:
                                        description: >
                                          Map of instance data that need to be
                                          configured on the CP instances  created
                                          from the respective CPD. The key of the
                                          map which identifies  the individual
                                          VnfExtCpConfig entries is of type
                                          "IdentifierInVnf"  and is managed by the
                                          API consumer. The entries shall be
                                          applied by  the VNFM according to the
                                          rules of JSON Merge Patch (see IETF RFC
                                          7396 [11]).  See notes 2, 3 and 4.
                                        type: object
                                        additionalProperties:
                                          description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - linkPortId
                                            - required:
                                                - cpProtocolData
                                          properties:
                                            parentCpConfigId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            linkPortId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            createExtLinkPort:
                                              description: >
                                                Indicates the need to create a dedicated
                                                link port for the external CP. If set to
                                                True, a link port is created. If set to
                                                False, no link port is created. This
                                                attribute is only applicable for
                                                external CP instances without a floating
                                                IP address that expose a VIP CP instance
                                                for which a dedicated IP address is
                                                allocated. It shall be present in that
                                                case and shall be absent otherwise.
                                              type: boolean
                                            cpProtocolData:
                                              description: >
                                                Parameters for configuring the network
                                                protocols on the link port that connects
                                                the CP to a VL. See note 1.
                                              type: array
                                              items:
                                                description: >
                                                  This type represents network protocol
                                                  data.
                                                type: object
                                                required:
                                                  - layerProtocol
                                                properties:
                                                  layerProtocol:
                                                    description: >
                                                      Identifier of layer(s) and protocol(s).
                                                      Permitted values: IP_OVER_ETHERNET.
                                                    type: string
                                                    enum:
                                                      - IP_OVER_ETHERNET
                                                  ipOverEthernet:
                                                    description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                    type: object
                                                    anyOf:
                                                      - required:
                                                          - ipAddresses
                                                      - required:
                                                          - macAddress
                                                    properties:
                                                      macAddress:
                                                        description: >
                                                          A MAC address. Representation: string
                                                          that consists of groups of two
                                                          hexadecimal digits, separated by hyphens
                                                          or colons.
                                                        type: string
                                                        format: MAC
                                                      segmentationType:
                                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                        type: string
                                                        enum:
                                                          - VLAN
                                                          - INHERIT
                                                      segmentationId:
                                                        description: >
                                                          Identification of the network segment to
                                                          which the CP instance connects to. See
                                                          note 3 and note 4.
                                                        type: string
                                                      ipAddresses:
                                                        description: >
                                                          List of IP addresses to assign to the CP
                                                          instance. Each entry represents IP
                                                          address data for fixed or dynamic IP
                                                          address assignment per subnet. If this
                                                          attribute is not present, no IP address
                                                          shall be assigned. See note 1.
                                                        type: array
                                                        items:
                                                          type: object
                                                          required:
                                                            - type
                                                          oneOf:
                                                            - required:
                                                                - fixedAddresses
                                                            - required:
                                                                - numDynamicAddresses
                                                            - required:
                                                                - addressRange
                                                          properties:
                                                            type:
                                                              description: >
                                                                The type of the IP addresses. Permitted
                                                                values:
                                                                  - IPV4
                                                                  - IPV6
                                                              type: string
                                                              enum:
                                                                - IPV4
                                                                - IPV6
                                                            fixedAddresses:
                                                              description: >
                                                                Fixed addresses to assign (from the
                                                                subnet defined by "subnetId" if
                                                                provided). Exactly one of
                                                                "fixedAddresses", "numDynamicAddresses"
                                                                or "ipAddressRange" shall be present.
                                                              type: array
                                                              items:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                            numDynamicAddresses:
                                                              description: >
                                                                Number of dynamic addresses to assign
                                                                (from the subnet defined by "subnetId"
                                                                if provided). See note 2.
                                                              type: integer
                                                            addressRange:
                                                              description: >
                                                                An IP address range to be used, e.g. in
                                                                case of egress connections. In case this
                                                                attribute is present, IP addresses from
                                                                the range will be used.
                                                              type: object
                                                              required:
                                                                - minAddress
                                                                - maxAddress
                                                              properties:
                                                                minAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                                maxAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                            subnetId:
                                                              description: >
                                                                An identifier maintained by the VIM or
                                                                other resource provider. It is expected
                                                                to be unique within the VIM instance.
                                                                Representation: string of variable
                                                                length.
                                                              type: string
                            modificationsTriggeredByVnfPkgChange:
                              description: >
                                This type represents attribute modifications
                                that were performed by the VNFM on an
                                "Individual VNF instance"  resource when
                                changing the current VNF package. The
                                "ModificationsTriggeredByVnfPkgChange" data type
                                shall comply with the provisions defined in
                                table 6.5.3.79-1.
                              type: object
                              properties:
                                vnfConfigurableProperties:
                                  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
                                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
                                extensions:
                                  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
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfProvider:
                                  description: >
                                    If present, this attribute signals the new
                                    value of the "vnfProvider" attribute in
                                    "VnfInstance". If present, this attribute
                                    (which depends on the value of the "vnfdId"
                                    attribute) was modified implicitly during
                                    the related operation, and contains a copy
                                    of the value of the related attribute from
                                    the VNFD in the VNF Package identified by
                                    the "vnfdId" attribute.
                                  type: string
                                vnfProductName:
                                  description: >
                                    If present, this attribute signals the new
                                    value of the "vnfProductName" attribute in
                                    "VnfInstance". If present, this attribute
                                    (which depends on the value of the "vnfdId"
                                    attribute) was modified implicitly during
                                    the related operation, and contains a copy
                                    of the value of the related attribute from
                                    the VNFD in the VNF Package identified by
                                    the "vnfdId" attribute.
                                  type: string
                                vnfSoftwareVersion:
                                  description: >
                                    A Version. Representation: string of
                                    variable length.
                                  type: string
                                vnfdVersion:
                                  description: >
                                    A Version. Representation: string of
                                    variable length.
                                  type: string
                  affectedPnfs:
                    description: >
                      Information about the PNF instances that were affected
                      during the lifecycle operation, if this notification
                      represents the result of a lifecycle operation. See note
                      1.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted and
                        modified PNFs.  It shall comply with the provisions in
                        Table 6.5.3.3-1.
                      type: object
                      required:
                        - pnfId
                        - pnfdId
                        - pnfProfileId
                        - cpInstanceId
                      properties:
                        pnfId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        pnfdId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        pnfProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        pnfName:
                          description: |
                            Name of the PNF.
                          type: string
                        cpInstanceId:
                          description: |
                            Identifier of the CP in the scope of the PNF.
                          type: array
                          items:
                            description: >
                              An Identifier that is unique within respect to a
                              PNF. Representation: string of variable length.
                            type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: - ADD
                            - REMOVE - MODIFY
                          type: string
                          enum:
                            - ADD
                            - REMOVE
                            - MODIFY
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: -
                            COMPLETED - ROLLED_BACK - FAILED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
                  affectedVls:
                    description: >
                      Information about the VL instances that were affected
                      during the lifecycle operation, if this notification
                      represents the result of a lifecycle operation. See note
                      1.
                    type: array
                    items:
                      description: "This type provides information about added, deleted, modified and temporary VLs. NOTE:\tThe resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n"
                      type: object
                      required:
                        - nsVirtualLinkInstanceId
                        - nsVirtualLinkDescId
                        - vlProfileId
                        - changeType
                        - changeResult
                      properties:
                        nsVirtualLinkInstanceId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        nsVirtualLinkDescId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        vlProfileId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: * ADD
                            * DELETE * MODIFY * ADD_LINK_PORT * REMOVE_LINK_PORT
                          type: string
                          enum:
                            - ADD
                            - DELETE
                            - MODIFY
                            - ADD_LINK_PORT
                            - REMOVE_LINK_PORT
                        linkPortIds:
                          description: >
                            Identifiers of the link ports of the affected VL
                            related to the change. Each identifier references an
                            "NsLinkPortInfo" structure.

                            Shall be set when changeType is equal to
                            "ADD_LINK_PORT" or "REMOVE_LINK_PORT", and the
                            related "NsLinkPortInfo" structures are present
                            (case "add") or have been present (case "remove") in
                            the "NsVirtualLinkInfo" structure that is
                            represented by the "virtualLink¬Info" attribute in
                            the "NsInstance" structure. See note.
                          type: array
                          items:
                            description: >
                              An identifier that is unique with respect to a NS.
                              Representation: string of variable length.
                            type: string
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: *
                            COMPLETED * ROLLED_BACK * FAILED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
                  affectedVnffgs:
                    description: >
                      Information about the VNFFG instances that were affected
                      during the lifecycle operation, if this notification
                      represents the result of a lifecycle operation. See note
                      1.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted and
                        modified VNFFG instances. It shall comply with the
                        provisions in Table 6.5.3.5-1.
                      type: object
                      required:
                        - vnffgInstanceId
                        - vnffgdId
                      properties:
                        vnffgInstanceId:
                          description: >
                            An identifier that is unique with respect to a NS.
                            Representation: string of variable length.
                          type: string
                        vnffgdId:
                          description: >
                            An identifier that is unique within a NS descriptor.
                            Representation: string of variable length.
                          type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: - ADD
                            - DELETE - MODIFY
                          type: string
                          enum:
                            - ADD
                            - DELETE
                            - MODIFY
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: -
                            COMPLETED - ROLLED_BACK - FAILED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
                  affectedNss:
                    description: >
                      Information about the nested NS instances that were
                      affected during the lifecycle operation, if this
                      notification represents the result of a lifecycle
                      operation. See note 1.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted and
                        modified nested NSs. It shall comply with the provisions
                        in Table 6.5.3.6-1.
                      type: object
                      required:
                        - nsInstanceId
                        - nsdId
                        - changeType
                        - changeResult
                      properties:
                        nsInstanceId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        nsdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        changeType:
                          description: >
                            Signals the type of lifecycle change. Permitted
                            values: - ADD - REMOVE - INSTANTIATE - SCALE -
                            UPDATE - HEAL - TERMINATE
                          type: string
                          enum:
                            - ADD
                            - REMOVE
                            - INSTANTIATE
                            - SCALE
                            - UPDATE
                            - HEAL
                            - TERMINATE
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: -
                            COMPLETED - ROLLED_BACK - FAILED -
                            PARTIALLY_COMPLETED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
                            - PARTIALLY_COMPLETED
                        changedInfo:
                          description: >
                            Information about the changed NS instance
                            information, if applicable.
                          type: object
                          properties:
                            wanConnectionInfoModifications:
                              description: >
                                Information about the modified WAN related
                                connectivity information, if applicable.
                              type: array
                              items:
                                description: >
                                  This type represents attribute modifications
                                  that were performed on WAN connection
                                  information. The attributes that can be
                                  included consist of those requested to be
                                  modified explicitly with the "UpdateNsRequest"
                                  data structure. It shall comply with the
                                  provisions defined in table 6.5.3.93-1.
                                type: object
                                required:
                                  - wanConnectionInfoId
                                properties:
                                  wanConnectionInfoId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  mscsName:
                                    description: >
                                      If present, this attribute signals
                                      modifications of the "mscsName" attribute
                                      in "MscsInfo" as defined in clause
                                      6.5.3.82.
                                    type: string
                                  mscsDescription:
                                    description: >
                                      If present, this attribute signals
                                      modifications of the "mscsDescription"
                                      attribute in "MscsInfo" as defined in
                                      clause 6.5.3.82.
                                    type: string
                                  mscsEndpoints:
                                    description: >
                                      If present, this attribute signals
                                      modifications of certain entries in the
                                      "mscsEndpoints" attribute array in
                                      "MscsInfo", as defined in clause 6.5.3.82.
                                    type: array
                                    items:
                                      description: >
                                        This type provides encapsulates
                                        information about an MSCS endpoint of
                                        the MSCS. It shall comply with the
                                        provisions defined in table 6.5.3.83-1.
                                      type: object
                                      required:
                                        - mscsEndpointId
                                        - directionality
                                        - connectivityServiceEndpoinId
                                      properties:
                                        mscsEndpointId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        directionality:
                                          description: "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n"
                                          type: string
                                          enum:
                                            - INBOUND
                                            - OUTBOUND
                                            - BOTH
                                        connectivityServiceEndpoinId:
                                          description: >
                                            References the connectivity service
                                            endpoint configuration information
                                            applicable to support the MSCS endpoint.
                                            More than one connectivity service
                                            endpoint can be referred when endpoints
                                            are in LAG mode.
                                          type: array
                                          items:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                  removeMscsEndpointIds:
                                    description: >
                                      If present, this attribute signals the
                                      deletion of certain entries in the
                                      "mscsEndpoints" attribute array in
                                      "MscsInfo", as defined in clause 6.5.3.82.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                  connectivityServiceEndpoints:
                                    description: >
                                      If present, this attribute signals
                                      modifications of certain entries in the
                                      "connectivityServiceEndpoints" attribute
                                      array in "WanConnectionProtocolInfo", as
                                      defined in clause 6.5.3.91.
                                    type: array
                                    items:
                                      description: >
                                        This type provides configuration data
                                        for the NFVI-PoP network gateway
                                        providing connectivity service
                                        endpoints. The connectivity service
                                        endpoints are used as endpoints by an
                                        MSCS. It shall comply with the
                                        provisions defined in Table 6.5.3.84-1.
                                      type: object
                                      required:
                                        - connectivityServiceEndpointId
                                        - vimId
                                      properties:
                                        connectivityServiceEndpointId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        vimId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        siteToWanLayer2ProtocolData:
                                          description: "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n"
                                          type: object
                                          required:
                                            - layer2ConnectionInfo
                                          properties:
                                            layer2ConnectionInfo:
                                              description: >
                                                Layer 2 protocol parameters of the
                                                connectivity service endpoint (CSE).
                                              type: object
                                              required:
                                                - connectionType
                                                - interfaceType
                                                - interfaceTagging
                                                - encapsulationType
                                              properties:
                                                connectionType:
                                                  description: "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n"
                                                  type: string
                                                  enum:
                                                    - CSE
                                                    - AGGREGATE_CSE
                                                interfaceType:
                                                  description: "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n"
                                                  type: string
                                                  enum:
                                                    - PARENT
                                                    - LOGICAL
                                                interfaceTagging:
                                                  description: "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n"
                                                  type: string
                                                  enum:
                                                    - UNTAGGED
                                                    - TAGGED
                                                encapsulationType:
                                                  description: "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n"
                                                  type: string
                                                  enum:
                                                    - ETH
                                                    - VLAN
                                                    - VXLAN
                                                vlanTaggingType:
                                                  description: "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n  service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n"
                                                  type: string
                                                  enum:
                                                    - DOT1Q
                                                    - QINQ
                                                    - QINANY
                                                wanSegmentIds:
                                                  description: >
                                                    Segment identifiers to pass on the
                                                    tagged interface. Shall be present if
                                                    encapsulationType="VLAN" or “VXLAN".
                                                  type: object
                                                  required:
                                                    - wanSegmentIdValue
                                                  properties:
                                                    wanSegmentIdValue:
                                                      description: >
                                                        Identifier of the network segment (e.g.,
                                                        VLAN id or VNI).
                                                      type: string
                                                    wanSegmentIdUpperRange:
                                                      description: >
                                                        Identifier of the upper range network
                                                        segment, in case the "wanSegmentIds" is
                                                        used to define a range.
                                                      type: string
                                                vxlanConfig:
                                                  description: >
                                                    Additional configuration needed when
                                                    using VXLAN encapsulation. Shall be
                                                    present if interfaceTagging="TAGGED" and
                                                    encapsulationType="VXLAN".
                                                  type: object
                                                  required:
                                                    - peerMode
                                                  properties:
                                                    peerMode:
                                                      description: "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n"
                                                      type: string
                                                      enum:
                                                        - STATIC
                                                        - BGP_EVPN
                                                    peers:
                                                      description: >
                                                        List of IP addresses of VTEP peers when
                                                        using static mode.
                                                      type: array
                                                      items:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                lagInterfaceData:
                                                  description: >
                                                    Information for setting up a LAG
                                                    interface aggregating multiple
                                                    connectivity service endpoints.
                                                  type: object
                                                  required:
                                                    - aggregatedEndpoints
                                                    - lacpActivation
                                                    - lacpConfig
                                                  properties:
                                                    aggregatedEndpoints:
                                                      description: >
                                                        List of the connectivity service
                                                        endpoints that are to be aggregated.
                                                        Shall be present if
                                                        connectionType="AGGREGATE_CSE". In case
                                                        of aggregating connectivity service
                                                        endpoints, only one
                                                        SiteToWanLayer2ProtocolData shall be
                                                        provided for the whole set of aggregated
                                                        endpoints.
                                                      type: array
                                                      items:
                                                        description: >
                                                          An identifier with the intention of
                                                          being globally unique.
                                                        type: string
                                                    lacpActivation:
                                                      description: >
                                                        Indicates whether to activate LACP on
                                                        the interface. If "TRUE", the LACP is to
                                                        be activated, or "FALSE" otherwise.
                                                        Default value is "FALSE".
                                                      type: boolean
                                                    lacpConfig:
                                                      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
                                                layer2ControlProtocol:
                                                  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
                                            mtuL2:
                                              description: >
                                                Maximum Transmission Unit (MTU) that can
                                                be forwarded at layer 2 (in bytes).
                                                Default value is "1500" (bytes).
                                              type: number
                                            virtualRoutingAndForwarding:
                                              description: >
                                                Configuration related to the L2 virtual
                                                routing and forwarding (MAC-VRF).
                                              type: object
                                              required:
                                                - macVrfName
                                              properties:
                                                macVrfName:
                                                  description: >
                                                    Name (or identifier) of the MAC-VRF
                                                    instance.
                                                  type: string
                                            forwardingConfig:
                                              description: >
                                                Information related to the forwarding of
                                                the VN in the NFVI-PoP to the
                                                connectivity service endpoint, if
                                                information about the VN to "stitch" is
                                                already known. . by the OSS/BSS. Shall
                                                not be provided otherwise, in which case
                                                the NFVO will infer the forwarding
                                                configuration based on the NS VL, or
                                                external VL, or externally-managed VL
                                                provisioning.
                                              type: object
                                              oneOf:
                                                - required:
                                                    - networkResources
                                                - required:
                                                    - vnSegmentIds
                                              properties:
                                                networkResources:
                                                  description: >
                                                    Reference to the VN resource to be
                                                    forwarded into/from the MSCS. See note.
                                                  type: array
                                                  items:
                                                    description: >
                                                      This type represents the information
                                                      that allows addressing a virtualised
                                                      resource that is used by a VNF instance
                                                      or by an NS instance. Information about
                                                      the resource is available from the VIM.
                                                      NOTE: The value set of the
                                                      "vimLevelResourceType" attribute is
                                                      within the scope of the VIM, the WIM or
                                                      the resource provider and can be used as
                                                      information that complements the
                                                      ResourceHandle.
                                                    type: object
                                                    required:
                                                      - resourceId
                                                    properties:
                                                      vimId:
                                                        description: >
                                                          An identifier with the intention of
                                                          being globally unique.
                                                        type: string
                                                      resourceProviderId:
                                                        description: >
                                                          An identifier with the intention of
                                                          being globally unique.
                                                        type: string
                                                      resourceId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                                                      vimLevelResourceType:
                                                        description: >
                                                          Type of the resource in the scope of the
                                                          VIM, the WIM or the resource provider.
                                                          The value set of the
                                                          "vimLevelResourceType" attribute is
                                                          within the scope of the VIM, the WIM or
                                                          the resource provider and can be used as
                                                          information that complements the
                                                          ResourceHandle. See note.
                                                        type: string
                                                vnSegmentIds:
                                                  description: >
                                                    Identifiers of the network segments of
                                                    the VN resources to be forwarded
                                                    into/from the MSCS.
                                                  type: object
                                                  required:
                                                    - vnSegmentIdValue
                                                  properties:
                                                    vnSegmentIdValue:
                                                      description: |
                                                        Identifier of the network segment.
                                                      type: string
                                                    vnSegmentIdUpperRange:
                                                      description: >
                                                        Identifier of the upper range network
                                                        segment, in case the "vnSegmentIds" is
                                                        used to define a range.
                                                      type: string
                                        siteToWanLayer3ProtocolData:
                                          description: >
                                            This type provides information about
                                            Layer 3 protocol specific information
                                            for the stitching of the intra-site VN
                                            to the multi-site connectivity service
                                            over the WAN. It shall comply with the
                                            provisions defined in Table 6.5.3.86-1.
                                          type: object
                                          required:
                                            - routingInfo
                                          properties:
                                            logicalInterfaceIpAddress:
                                              description: >
                                                IP addressing information associated to
                                                a logical interface. Shall be present if
                                                the "interfaceType" of the
                                                SiteToWanLayer2ProtocolData is equal to
                                                "LOGICAL".
                                              type: object
                                              required:
                                                - ipAddress
                                                - associatedSegmentId
                                              properties:
                                                ipAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                associatedSegmentId:
                                                  description: >
                                                    The associated segment identifier that
                                                    has triggered the creation of the
                                                    logical interface. The value shall be
                                                    one of the values listed in the
                                                    "wanSegmentIds" of the
                                                    "siteToWanLayer2ProtocolData".
                                                  type: string
                                            routingInfo:
                                              description: >
                                                The routing information that is
                                                activated on the connectivity service
                                                endpoint. More than one "routingInfo" is
                                                allowed to enable stacking different
                                                routing protocols (e.g., one routing
                                                protocol for IPv4 and another one for
                                                IPv6).
                                              type: object
                                              required:
                                                - routingProtocol
                                                - routingAddressFamily
                                              properties:
                                                routingProtocol:
                                                  description: "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n  router redundancy protocol support (VRRP).\n"
                                                  type: string
                                                  enum:
                                                    - BGP
                                                    - RIP
                                                    - OSPF
                                                    - STATIC
                                                    - DIRECT
                                                    - VRRP
                                                staticRouting:
                                                  description: >
                                                    Defines a static route. It shall only be
                                                    present if the routingProtocol="STATIC".
                                                  type: object
                                                  required:
                                                    - ipVersion
                                                    - ipPrefix
                                                    - prefixSize
                                                    - nextHop
                                                  properties:
                                                    ipVersion:
                                                      description: "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n"
                                                      type: string
                                                      enum:
                                                        - IPV4
                                                        - IPV6
                                                    ipPrefix:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    prefixSize:
                                                      description: |
                                                        The IP prefix size.
                                                      type: number
                                                    nextHop:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                routingAddressFamily:
                                                  description: "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n"
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPv6
                                                ospfRouting:
                                                  description: >
                                                    Defines parameters for OSPF routing. It
                                                    shall only be present if the
                                                    routingProtocol="OSPF".
                                                  type: object
                                                  required:
                                                    - areaId
                                                  properties:
                                                    areaId:
                                                      description: >
                                                        The routing area identifier, e.g., a
                                                        number or an IP address.
                                                      type: string
                                                bgpRouting:
                                                  description: >
                                                    Defines parameters for BGP routing. It
                                                    shall only be present if the
                                                    routingProtocol="BGP".
                                                  type: object
                                                  required:
                                                    - bgpAs
                                                  properties:
                                                    bgpAs:
                                                      description: >
                                                        The Autonomous System (AS)
                                                        identification applicable to the BGP
                                                        routing info entry.
                                                      type: object
                                                    bgpNeighbour:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    bgpAdditionalParam:
                                                      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
                                                routeMapsDistribution:
                                                  description: >
                                                    Maps of routes that are permitted or
                                                    denied for redistribution.
                                                  type: object
                                                  required:
                                                    - policy
                                                    - sequence
                                                    - matchAndSetRule
                                                  properties:
                                                    policy:
                                                      description: "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n"
                                                      type: string
                                                      enum:
                                                        - PERMIT
                                                        - DENY
                                                    sequence:
                                                      description: >
                                                        Sequence or index number assigned to the
                                                        route-map.
                                                      type: number
                                                    matchAndSetRule:
                                                      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
                                            mtuL3:
                                              description: >
                                                Maximum Transmission Unit (MTU) that can
                                                be forwarded at layer 3 (in bytes).
                                                Default value is "1500" (bytes).
                                              type: number
                                            virtualRoutingAndForwarding:
                                              description: >
                                                Configuration related to the virtual
                                                routing and forwarding (VRF).
                                              type: object
                                              required:
                                                - vrfName
                                              properties:
                                                vrfName:
                                                  description: >
                                                    Name (or identifier) of the VRF
                                                    instance.
                                                  type: string
                                            bfdConfig:
                                              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
                                  removeConnectivityServiceEndpoints:
                                    description: >
                                      If present, this attribute signals the
                                      deletion of certain entries in the
                                      "connectivityServiceEndpoints" attribute
                                      array in "WanConnectionProtocolInfo", as
                                      defined in clause 6.5.3.91.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                  affectedSaps:
                    description: >
                      Information about the nested NS instances that were
                      affected during the lifecycle operation, if this
                      notification represents the result of a lifecycle
                      operation. See note 1.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted and
                        modified SAP of a NS. It shall comply with the
                        provisions in Table 6.5.3.7-1.
                      type: object
                      required:
                        - sapInstanceId
                        - sapdId
                      properties:
                        sapInstanceId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        sapdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        sapName:
                          description: |
                            Human readable name for the SAP.
                          type: string
                        changeType:
                          description: >
                            Signals the type of lifecycle change. Permitted
                            values: - ADD - REMOVE - MODIFY
                          type: string
                          enum:
                            - ADD
                            - REMOVE
                            - MODIFY
                        changeResult:
                          description: >
                            Signals the result of change identified by the
                            "changeType" attribute. Permitted values: -
                            COMPLETED - ROLLED_BACK - FAILED
                          type: string
                          enum:
                            - COMPLETED
                            - ROLLED_BACK
                            - FAILED
              lcmCoordinations:
                description: >
                  Information about LCM coordination actions (see clause 12)
                  related to this LCM operation occurrence.
                type: array
                items:
                  type: object
                  required:
                    - id
                    - coordinationActionName
                    - startTime
                    - endpointType
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    coordinationActionName:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    coordinationResult:
                      description: >
                        The enumeration LcmCoordResultType defines the permitted
                        values to represent the result 

                        of executing an LCM coordination action. The
                        coordination result also implies the action 

                        to be performed by the NFVO as the follow-up to this
                        coordination. The LcmCoordResultType 

                        shall comply with the provisions defined in table
                        12.5.4.3.-1.


                        - CONTINUE: The related LCM operation shall be
                        continued, staying in the state "PROCESSING".

                        - ABORT: The related LCM operation shall be aborted by
                        transitioning into the state "FAILED_TEMP".

                        - CANCELLED: The coordination action has been cancelled
                        upon request of the API consumer, 
                                     i.e. the NFVO. The related LCM operation shall be aborted by transitioning into 
                                     the state "FAILED_TEMP".
                      type: string
                      enum:
                        - CONTINUE
                        - ABORT
                        - CACELLED
                    startTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    endTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    endpointType:
                      description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                      type: string
                      enum:
                        - MGMT
                    delay:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
              rejectedLcmCoordinations:
                description: >
                  Information about LCM coordination actions (see clause 12)
                  that were rejected by 503 error which means they can be tried
                  again after a delay. See note 3.
                type: array
                items:
                  type: object
                  required:
                    - coordinationActionName
                    - rejectionTime
                    - endpointType
                    - delay
                  properties:
                    coordinationActionName:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    rejectionTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    endpointType:
                      description: "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n"
                      type: string
                      enum:
                        - MGMT
                    delay:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
              warnings:
                description: >
                  Warning messages that were generated while the operation was
                  executing.

                  If the operation has included VNF LCM operations or NS LCM
                  coordination actions and these have resulted in warnings, such
                  warnings should be added to this attribute.
                type: array
                items:
                  type: string
              _links:
                description: |
                  Links to resources related to this resource.
                type: object
                required:
                  - self
                  - nsInstance
                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
                  nsInstance:
                    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
                  cancel:
                    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
                  retry:
                    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
                  rollback:
                    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
                  continue:
                    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
                  fail:
                    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
    NsLcmOpOccFail.Post.404:
      description: >
        404 NOT FOUND


        Shall be returned upon the following error: The API producer did not
        find a current representation for the

        target resource or is not willing to disclose that one exists.

        The general cause for this error and its handling is specified in clause
        6.4 of ETSI GS NFV-SOL 013 [16],

        including rules for the presence of the response body.

        Specifically in case of this task resource, the response code 404 shall
        also be returned if the task is not

        supported for the NS LCM operation occurrence represented by the parent
        resource, which means that the task resource consequently does not
        exist.

        In this case, the response body shall be present, and shall contain a
        ProblemDetails structure, in which the

        "detail" attribute shall convey more information about the error.
      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:
            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
    NsLcmOpOccFail.Post.409:
      description: >
        409 CONFLICT


        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a conflict with

        the state of the NS LCM operation occurrence resource.

        Typically, this is due to the fact that the NS LCM operation occurrence
        is not in FAILED_TEMP state, or another

        error handling action is starting, such as retry or rollback.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey more

        information about the error.
      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:
            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
    NsLcmOpOccCancel.Post.202:
      description: >
        202 ACCEPTED


        Shall be returned when the request has been accepted for processing, but
        processing has not been completed.

        The response shall have an empty entity body.
      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: {}
    NsLcmOpOccCancel.Post.404:
      description: >
        404 NOT FOUND


        Shall be returned upon the following error: The API producer did not
        find a current representation for the

        target resource or is not willing to disclose that one exists.

        The general cause for this error and its handling is specified in clause
        6.4 of ETSI GS NFV-SOL 013 [16],

        including rules for the presence of the response body.

        Specifically, in case of this task resource, the response code 404 shall
        also be returned if the task is not

        supported for the NS LCM operation occurrence represented by the parent
        resource, which means that the task resource consequently does not
        exist.

        In this case, the response body shall be present, and shall contain a
        ProblemDetails structure, in which the

        "detail" attribute shall convey more information about the error.
      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: >
              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
    NsLcmOpOccCancel.Post.409:
      description: >
        409 CONFLICT


        Shall be returned upon the following error: The operation cannot be
        executed currently, due to a conflict

        with the state of the NS LCM operation occurrence resource.

        Typically, this is due to the fact that the operation occurrence is not
        in STARTING, PROCESSING or ROLLING_BACK state.

        The response body shall contain a ProblemDetails structure, in which the
        "detail" attribute shall convey more

        information about the error.
      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: >
              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
    NsLcmSubscriptions.Get.200:
      description: >
        200 OK

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

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

        the method, i.e. zero or more representations of lifecycle change
        notification subscriptions as defined in

        clause 6.5.2.4. If the "filter" URI parameter was supplied in the
        request, the data in the response body

        shall have been transformed according to the rules specified in clause
        5.2.2 of ETSI GS NFV-SOL 013 [16].

        If the NFVO supports alternative 2 (paging) according to clause 5.4.2.1
        of ETSI GS NFV-SOL 013 [16] 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 [16].
      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
        Link:
          description: >
            Reference to other resources. Used for paging in the present
            document, see clause 4.7.2.1.
          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: array
            items:
              description: >
                This type represents a subscription related to notifications
                about NS lifecycle changes.  It shall comply with the provisions
                defined in Table 6.5.2.4-1.
              type: object
              required:
                - id
                - callbackUri
                - _links
              properties:
                id:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                filter:
                  description: "This type represents a subscription filter related to notifications about  NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n"
                  type: object
                  properties:
                    nsInstanceSubscriptionFilter:
                      description: >
                        This type represents subscription filter criteria to
                        match NS instances.

                        NOTE 1: The attributes "nsdIds", "vnfdIds" and "pnfdIds"
                        are alternatives to reference to NS instances that are
                        created based on certain NSDs, or contain VNF instances
                        that are based on certain VNFDs, or contain PNFs that
                        are based on certain PNFDs in a filter. They should not
                        be used together in the same filter instance, but one
                        alternative should be chosen.

                        NOTE 2: The attributes "nsInstanceIds" and
                        "nsInstanceNames" are alternatives to reference to
                        particular NS Instances in a filter. They should not be
                        used both in the same filter instance, but one
                        alternative should be chosen.
                      type: object
                      anyOf:
                        - oneOf:
                            - required:
                                - nsdIds
                            - required:
                                - vnfdIds
                            - required:
                                - pnfdIds
                        - oneOf:
                            - required:
                                - nsInstanceIds
                            - required:
                                - nsInstanceNames
                      properties:
                        nsdIds:
                          description: >
                            If present, match NS instances that were created
                            based on a NSD identified by one of the nsdId values
                            listed in this attribute. See note 1.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        vnfdIds:
                          description: >
                            If present, match NS instances that contain VNF
                            instances that were created based on a VNFD
                            identified by one of the vnfdId values listed in
                            this attribute. See note 1.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        pnfdIds:
                          description: >
                            If present, match NS instances that contain PNFs
                            that are represented by a PNFD identified by one of
                            the pnfdId values listed in this attribute. See note
                            1.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        nsInstanceIds:
                          description: >
                            If present, match NS instances with an instance
                            identifier listed in this attribute. See note 2.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                        nsInstanceNames:
                          description: >
                            If present, match NS instances with a NS Instance
                            Name listed in this attribute. See note 2.
                          type: array
                          items:
                            description: |
                              A string as defined in IETF RFC 8259.
                            type: string
                    notificationTypes:
                      description: "Match particular notification types. Permitted values: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification -\tNsLcmCapacityShortageNotification - NsChangeNotification\nSee note.\n"
                      type: array
                      items:
                        type: string
                        enum:
                          - NsLcmOperationOccurenceNotification
                          - NsIdentifierCreationNotification
                          - NsIdentifierDeletionNotification
                          - NsChangeNotification
                    operationTypes:
                      description: >
                        Match particular NS lifecycle operation types for the
                        notification of type
                        NsLcmOperationOccurrenceNotification. May be present if
                        the "notificationTypes" attribute contains the value
                        "NsLcmOperationOccurrenceNotification", and shall be
                        absent otherwise.
                      type: array
                      items:
                        description: >
                          The enumeration NsLcmOpType represents those lifecycle
                          operations that trigger a NS lifecycle management
                          operation occurrence notification. Value | Description
                          ------|------------ INSTANTIATE | Represents the
                          "Instantiate NS" LCM operation. SCALE | Represents the
                          "Scale NS" LCM operation. UPDATE | Represents the
                          "Update NS" LCM operation. TERMINATE | Represents the
                          "Terminate NS" LCM operation. HEAL | Represents the
                          "Heal NS" LCM operation.
                        type: string
                        enum:
                          - INSTANTIATE
                          - SCALE
                          - UPDATE
                          - TERMINATE
                          - HEAL
                    operationStates:
                      description: >
                        Match particular LCM operation state values as reported
                        in notifications of type
                        NsLcmOperationOccurrenceNotification. May be present if
                        the "notificationTypes" attribute contains the value
                        "NsLcmOperationOccurrenceNotification", and shall be
                        absent otherwise.
                      type: array
                      items:
                        description: >
                          Value | Description ------|------------ PROCESSING |
                          The LCM operation is currently in execution. COMPLETED
                          | The LCM operation has been completed successfully.
                          PARTIALLY_COMPLETED | The LCM operation has been
                          partially completed with accepTable errors.
                          FAILED_TEMP | The LCM operation has failed and
                          execution has stopped, but the execution of the
                          operation is not considered to be closed. FAILED | The
                          LCM operation has failed and it cannot be retried or
                          rolled back, as it is determined that such action will
                          not succeed. OLLING_BACK | The LCM operation is
                          currently being rolled back. ROLLED_BACK | The LCM
                          operation has been successfully rolled back, i.e. The
                          state of the NS prior to the original operation
                          invocation has been restored as closely as possible.
                        type: string
                        enum:
                          - PROCESSING
                          - COMPLETED
                          - PARTIALLY_COMPLETED
                          - FAILED_TEMP
                          - FAILED
                          - ROLLING_BACK
                          - ROLLED_BACK
                    affectedNsInstanceIds:
                      description: >
                        Match particular identifiers of the NS instance(s)
                        related to the operation occurrence that were affected
                        by the shortage as reported in notifications of type
                        NsLcmCapacityShortageNotification. May be present if the
                        "notificationTypes" attribute contains the value
                        "NsLcmCapacityShortageNotification", and shall be absent
                        otherwise.
                      items:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                    nsComponentTypes:
                      description: >
                        Match particular NS component types for the notification
                        of type NsChangeNotification. May be present if the
                        "notificationTypes" attribute contains the value
                        "NsChang.
                      type: array
                      items:
                        description: >
                          The enumeration NsComponentType represents the NS
                          component type. It shall comply with the provisions
                          defined in Table 6.5.4.5-1. Value | Description
                          ------|------------ VNF | Represents the impacted NS
                          component is a VNF. PNF | Represents the impacted NS
                          component is a PNF. NS | Represents the impacted NS
                          component is a nested NS.
                        type: string
                        enum:
                          - VNF
                          - PNF
                          - NS
                    lcmOpNameImpactingNsComponent:
                      description: >
                        Match particular LCM operation names for the
                        notification of type NsChangeNotification. May be
                        present if the "notificationTypes" attribute contains
                        the value "NsChangeNotification", and shall be absent
                        otherwise.
                      type: array
                      items:
                        description: >
                          The enumeration LcmOpNameForChangeNotificationType
                          represents the name of the lifecycle operation that
                          impacts the NS component and trigger an NS change
                          notification. It shall comply with the provisions
                          defined in Table 6.5.4.6-1. Value | Description
                          ------|------------ VNF_INSTANTIATE | Represents the
                          "Instantiate VNF" LCM operation. VNF_SCALE |
                          Represents the "Scale VNF" LCM operation.
                          VNF_SCALE_TO_LEVEL | Represents the "Scale VNF to
                          Level" LCM operation. VNF_CHANGE_FLAVOUR | Represents
                          the "Change VNF Flavor" LCM operation. VNF_TERMINATE |
                          Represents the "Terminate VNF" LCM operation. VNF_HEAL
                          | Represents the "Heal VNF" LCM operation. VNF_OPERATE
                          | Represents the "Operate VNF" LCM operation.
                          VNF_CHANGE_EXT_CONN | Represents the "Change external
                          VNF connectivity" LCM operation. VNF_MODIFY_INFO |
                          Represents the "Modify VNF Information" LCM
                          operation.            NS_INSTANTIATE | Represents the
                          "Instantiate NS" LCM operation NS_SCALE | Represents
                          the "Scale NS" LCM operation. NS_UPDATE | Represents
                          the "Update NS" LCM operation. NS_TERMINATE |
                          Represents the "Terminate NS" LCM operation. NS_HEAL |
                          Represents the "Heal NS" LCM operation.
                        type: string
                        enum:
                          - VNF_INSTANTIATE
                          - VNF_SCALE
                          - VNF_SCALE_TO_LEVEL
                          - VNF_CHANGE_FLAVOUR
                          - VNF_TERMINATE
                          - VNF_HEAL
                          - VNF_OPERATE
                          - VNF_CHANGE_EXT_CONN
                          - VNF_MODIFY_INFO
                          - VNF_CREATE_SNAPSHOT
                          - VNF_REVERT_TO_SNAPSHOT
                          - VNF_CHANGE_VNFPKG
                          - NS_INSTANTIATE
                          - NS_SCALE
                          - NS_UPDATE
                          - NS_TERMINATE
                          - NS_HEAL
                    lcmOpOccStatusImpactingNsComponent:
                      description: >
                        Match particular LCM operation status values as reported
                        in notifications of type NsChangeNotification. May be
                        present if the "notificationTypes" attribute contains
                        the value "NsChangeNotification", and shall be absent
                        otherwise.
                      type: array
                      items:
                        description: "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue                   | Description VNF_INSTANTIATE\t        Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t                Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t    Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t    Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t            Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t                Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t            Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t    Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t        Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t    Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t        Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t        Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t                Represents the \"Scale NS\" LCM operation. NS_UPDATE\t                Represents the \"Update NS\" LCM operation. NS_TERMINATE\t            Represents the \"Terminate NS\" LCM operation. NS_HEAL\t                Represents the \"Heal NS\" LCM operation.\n"
                        type: string
                        enum:
                          - VNF_INSTANTIATE
                          - VNF_SCALE
                          - VNF_SCALE_TO_LEVEL
                          - VNF_CHANGE_FLAVOUR
                          - VNF_TERMINATE
                          - VNF_HEAL
                          - VNF_OPERATE
                          - VNF_CHANGE_EXT_CONN
                          - VNF_MODIFY_INFO
                          - VNF_CREATE_SNAPSHOT
                          - VNF_REVERT_TO_SNAPSHOT
                          - VNF_CHANGE_VNFPKG
                          - NS_INSTANTIATE
                          - NS_SCALE
                          - NS_UPDATE
                          - NS_TERMINATE
                          - NS_HEAL
                callbackUri:
                  description: |
                    String formatted according to IETF RFC 3986.
                  type: string
                  format: uri
                verbosity:
                  description: >
                    The enumeration LcmOpOccNotificationVerbosityType provides
                    values to control the verbosity of LCM operation occurrence
                    notifications. It shall comply with the provisions defined
                    in table 6.5.4.11-1. * FULL: This signals a full
                    notification which contains all change details. * SHORT:
                    This signals a short notification which omits large-volume
                    change details to reduce the size of data to
                             be sent via the notification mechanism.
                  type: string
                  enum:
                    - FULL
                    - SHORT
                _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
    NsLcmSubscriptions.Post.201:
      description: |
        201 Created\nShall be returned when the subscription has been
        created successfully. The response body shall contain a representation
        of the created "Individual subscription" resource. The HTTP response
        shall include a "Location:" HTTP header that points to the created
        "Individual subscription" resource.
      headers:
        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:
            description: >
              This type represents a subscription related to notifications about
              NS lifecycle changes.  It shall comply with the provisions defined
              in Table 6.5.2.4-1.
            type: object
            required:
              - id
              - callbackUri
              - _links
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              filter:
                description: "This type represents a subscription filter related to notifications about  NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n"
                type: object
                properties:
                  nsInstanceSubscriptionFilter:
                    description: >
                      This type represents subscription filter criteria to match
                      NS instances.

                      NOTE 1: The attributes "nsdIds", "vnfdIds" and "pnfdIds"
                      are alternatives to reference to NS instances that are
                      created based on certain NSDs, or contain VNF instances
                      that are based on certain VNFDs, or contain PNFs that are
                      based on certain PNFDs in a filter. They should not be
                      used together in the same filter instance, but one
                      alternative should be chosen.

                      NOTE 2: The attributes "nsInstanceIds" and
                      "nsInstanceNames" are alternatives to reference to
                      particular NS Instances in a filter. They should not be
                      used both in the same filter instance, but one alternative
                      should be chosen.
                    type: object
                    anyOf:
                      - oneOf:
                          - required:
                              - nsdIds
                          - required:
                              - vnfdIds
                          - required:
                              - pnfdIds
                      - oneOf:
                          - required:
                              - nsInstanceIds
                          - required:
                              - nsInstanceNames
                    properties:
                      nsdIds:
                        description: >
                          If present, match NS instances that were created based
                          on a NSD identified by one of the nsdId values listed
                          in this attribute. See note 1.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      vnfdIds:
                        description: >
                          If present, match NS instances that contain VNF
                          instances that were created based on a VNFD identified
                          by one of the vnfdId values listed in this attribute.
                          See note 1.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      pnfdIds:
                        description: >
                          If present, match NS instances that contain PNFs that
                          are represented by a PNFD identified by one of the
                          pnfdId values listed in this attribute. See note 1.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      nsInstanceIds:
                        description: >
                          If present, match NS instances with an instance
                          identifier listed in this attribute. See note 2.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      nsInstanceNames:
                        description: >
                          If present, match NS instances with a NS Instance Name
                          listed in this attribute. See note 2.
                        type: array
                        items:
                          description: |
                            A string as defined in IETF RFC 8259.
                          type: string
                  notificationTypes:
                    description: "Match particular notification types. Permitted values: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification -\tNsLcmCapacityShortageNotification - NsChangeNotification\nSee note.\n"
                    type: array
                    items:
                      type: string
                      enum:
                        - NsLcmOperationOccurenceNotification
                        - NsIdentifierCreationNotification
                        - NsIdentifierDeletionNotification
                        - NsChangeNotification
                  operationTypes:
                    description: >
                      Match particular NS lifecycle operation types for the
                      notification of type NsLcmOperationOccurrenceNotification.
                      May be present if the "notificationTypes" attribute
                      contains the value "NsLcmOperationOccurrenceNotification",
                      and shall be absent otherwise.
                    type: array
                    items:
                      description: >
                        The enumeration NsLcmOpType represents those lifecycle
                        operations that trigger a NS lifecycle management
                        operation occurrence notification. Value | Description
                        ------|------------ INSTANTIATE | Represents the
                        "Instantiate NS" LCM operation. SCALE | Represents the
                        "Scale NS" LCM operation. UPDATE | Represents the
                        "Update NS" LCM operation. TERMINATE | Represents the
                        "Terminate NS" LCM operation. HEAL | Represents the
                        "Heal NS" LCM operation.
                      type: string
                      enum:
                        - INSTANTIATE
                        - SCALE
                        - UPDATE
                        - TERMINATE
                        - HEAL
                  operationStates:
                    description: >
                      Match particular LCM operation state values as reported in
                      notifications of type
                      NsLcmOperationOccurrenceNotification. May be present if
                      the "notificationTypes" attribute contains the value
                      "NsLcmOperationOccurrenceNotification", and shall be
                      absent otherwise.
                    type: array
                    items:
                      description: >
                        Value | Description ------|------------ PROCESSING | The
                        LCM operation is currently in execution. COMPLETED | The
                        LCM operation has been completed successfully.
                        PARTIALLY_COMPLETED | The LCM operation has been
                        partially completed with accepTable errors. FAILED_TEMP
                        | The LCM operation has failed and execution has
                        stopped, but the execution of the operation is not
                        considered to be closed. FAILED | The LCM operation has
                        failed and it cannot be retried or rolled back, as it is
                        determined that such action will not succeed.
                        OLLING_BACK | The LCM operation is currently being
                        rolled back. ROLLED_BACK | The LCM operation has been
                        successfully rolled back, i.e. The state of the NS prior
                        to the original operation invocation has been restored
                        as closely as possible.
                      type: string
                      enum:
                        - PROCESSING
                        - COMPLETED
                        - PARTIALLY_COMPLETED
                        - FAILED_TEMP
                        - FAILED
                        - ROLLING_BACK
                        - ROLLED_BACK
                  affectedNsInstanceIds:
                    description: >
                      Match particular identifiers of the NS instance(s) related
                      to the operation occurrence that were affected by the
                      shortage as reported in notifications of type
                      NsLcmCapacityShortageNotification. May be present if the
                      "notificationTypes" attribute contains the value
                      "NsLcmCapacityShortageNotification", and shall be absent
                      otherwise.
                    items:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                  nsComponentTypes:
                    description: >
                      Match particular NS component types for the notification
                      of type NsChangeNotification. May be present if the
                      "notificationTypes" attribute contains the value "NsChang.
                    type: array
                    items:
                      description: >
                        The enumeration NsComponentType represents the NS
                        component type. It shall comply with the provisions
                        defined in Table 6.5.4.5-1. Value | Description
                        ------|------------ VNF | Represents the impacted NS
                        component is a VNF. PNF | Represents the impacted NS
                        component is a PNF. NS | Represents the impacted NS
                        component is a nested NS.
                      type: string
                      enum:
                        - VNF
                        - PNF
                        - NS
                  lcmOpNameImpactingNsComponent:
                    description: >
                      Match particular LCM operation names for the notification
                      of type NsChangeNotification. May be present if the
                      "notificationTypes" attribute contains the value
                      "NsChangeNotification", and shall be absent otherwise.
                    type: array
                    items:
                      description: >
                        The enumeration LcmOpNameForChangeNotificationType
                        represents the name of the lifecycle operation that
                        impacts the NS component and trigger an NS change
                        notification. It shall comply with the provisions
                        defined in Table 6.5.4.6-1. Value | Description
                        ------|------------ VNF_INSTANTIATE | Represents the
                        "Instantiate VNF" LCM operation. VNF_SCALE | Represents
                        the "Scale VNF" LCM operation. VNF_SCALE_TO_LEVEL |
                        Represents the "Scale VNF to Level" LCM operation.
                        VNF_CHANGE_FLAVOUR | Represents the "Change VNF Flavor"
                        LCM operation. VNF_TERMINATE | Represents the "Terminate
                        VNF" LCM operation. VNF_HEAL | Represents the "Heal VNF"
                        LCM operation. VNF_OPERATE | Represents the "Operate
                        VNF" LCM operation. VNF_CHANGE_EXT_CONN | Represents the
                        "Change external VNF connectivity" LCM operation.
                        VNF_MODIFY_INFO | Represents the "Modify VNF
                        Information" LCM operation.            NS_INSTANTIATE |
                        Represents the "Instantiate NS" LCM operation NS_SCALE |
                        Represents the "Scale NS" LCM operation. NS_UPDATE |
                        Represents the "Update NS" LCM operation. NS_TERMINATE |
                        Represents the "Terminate NS" LCM operation. NS_HEAL |
                        Represents the "Heal NS" LCM operation.
                      type: string
                      enum:
                        - VNF_INSTANTIATE
                        - VNF_SCALE
                        - VNF_SCALE_TO_LEVEL
                        - VNF_CHANGE_FLAVOUR
                        - VNF_TERMINATE
                        - VNF_HEAL
                        - VNF_OPERATE
                        - VNF_CHANGE_EXT_CONN
                        - VNF_MODIFY_INFO
                        - VNF_CREATE_SNAPSHOT
                        - VNF_REVERT_TO_SNAPSHOT
                        - VNF_CHANGE_VNFPKG
                        - NS_INSTANTIATE
                        - NS_SCALE
                        - NS_UPDATE
                        - NS_TERMINATE
                        - NS_HEAL
                  lcmOpOccStatusImpactingNsComponent:
                    description: >
                      Match particular LCM operation status values as reported
                      in notifications of type NsChangeNotification. May be
                      present if the "notificationTypes" attribute contains the
                      value "NsChangeNotification", and shall be absent
                      otherwise.
                    type: array
                    items:
                      description: "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue                   | Description VNF_INSTANTIATE\t        Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t                Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t    Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t    Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t            Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t                Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t            Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t    Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t        Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t    Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t        Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t        Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t                Represents the \"Scale NS\" LCM operation. NS_UPDATE\t                Represents the \"Update NS\" LCM operation. NS_TERMINATE\t            Represents the \"Terminate NS\" LCM operation. NS_HEAL\t                Represents the \"Heal NS\" LCM operation.\n"
                      type: string
                      enum:
                        - VNF_INSTANTIATE
                        - VNF_SCALE
                        - VNF_SCALE_TO_LEVEL
                        - VNF_CHANGE_FLAVOUR
                        - VNF_TERMINATE
                        - VNF_HEAL
                        - VNF_OPERATE
                        - VNF_CHANGE_EXT_CONN
                        - VNF_MODIFY_INFO
                        - VNF_CREATE_SNAPSHOT
                        - VNF_REVERT_TO_SNAPSHOT
                        - VNF_CHANGE_VNFPKG
                        - NS_INSTANTIATE
                        - NS_SCALE
                        - NS_UPDATE
                        - NS_TERMINATE
                        - NS_HEAL
              callbackUri:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
                format: uri
              verbosity:
                description: >
                  The enumeration LcmOpOccNotificationVerbosityType provides
                  values to control the verbosity of LCM operation occurrence
                  notifications. It shall comply with the provisions defined in
                  table 6.5.4.11-1. * FULL: This signals a full notification
                  which contains all change details. * SHORT: This signals a
                  short notification which omits large-volume change details to
                  reduce the size of data to
                           be sent via the notification mechanism.
                type: string
                enum:
                  - FULL
                  - SHORT
              _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
    NsLcmSubscriptions.Post.303:
      description: >
        303 See Other


        Shall be returned if a subscription with the same callback URI and the
        same filter already exits and the

        policy of the NFVO is to not create redundant subscriptions.

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

        "Individual subscription" resource.

        The response body shall be empty.
      headers:
        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
    NsLcmSubscriptions.Post.422:
      description: >
        422 Unprocessable Entity


        Shall be returned upon the following error: The content type of the
        payload body is supported and the

        payload body of a request contains syntactically correct data but the
        data cannot be processed.

        The general cause for this error and its handling is specified in clause
        6.4 of ETSI GS NFV-SOL 013 [16],

        including rules for the presence of the response body.

        Specifically in case of this resource, the response code 422 shall also
        be returned if the NFVO has tested

        the Notification endpoint as described in clause 6.4.18.3.2 and the test
        has failed.

        In this case, the "detail" attribute in the "ProblemDetails" structure
        shall convey more information about the error.
      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:
            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
    IndividualNsLcmSubscription.Get.200:
      description: |
        200 OK
        Shall be returned when information about an individual
        subscription has been read successfully. The response body shall contain
        a representation of the "Individual subscription" resource.
      headers:
        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:
            description: >
              This type represents a subscription related to notifications about
              NS lifecycle changes.  It shall comply with the provisions defined
              in Table 6.5.2.4-1.
            type: object
            required:
              - id
              - callbackUri
              - _links
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              filter:
                description: "This type represents a subscription filter related to notifications about  NS lifecycle changes. It shall comply with the provisions defined in Table 6.5.3.8-1. At a particular nesting level in the filter structure, the following applies:  All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes).  If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n"
                type: object
                properties:
                  nsInstanceSubscriptionFilter:
                    description: >
                      This type represents subscription filter criteria to match
                      NS instances.

                      NOTE 1: The attributes "nsdIds", "vnfdIds" and "pnfdIds"
                      are alternatives to reference to NS instances that are
                      created based on certain NSDs, or contain VNF instances
                      that are based on certain VNFDs, or contain PNFs that are
                      based on certain PNFDs in a filter. They should not be
                      used together in the same filter instance, but one
                      alternative should be chosen.

                      NOTE 2: The attributes "nsInstanceIds" and
                      "nsInstanceNames" are alternatives to reference to
                      particular NS Instances in a filter. They should not be
                      used both in the same filter instance, but one alternative
                      should be chosen.
                    type: object
                    anyOf:
                      - oneOf:
                          - required:
                              - nsdIds
                          - required:
                              - vnfdIds
                          - required:
                              - pnfdIds
                      - oneOf:
                          - required:
                              - nsInstanceIds
                          - required:
                              - nsInstanceNames
                    properties:
                      nsdIds:
                        description: >
                          If present, match NS instances that were created based
                          on a NSD identified by one of the nsdId values listed
                          in this attribute. See note 1.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      vnfdIds:
                        description: >
                          If present, match NS instances that contain VNF
                          instances that were created based on a VNFD identified
                          by one of the vnfdId values listed in this attribute.
                          See note 1.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      pnfdIds:
                        description: >
                          If present, match NS instances that contain PNFs that
                          are represented by a PNFD identified by one of the
                          pnfdId values listed in this attribute. See note 1.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      nsInstanceIds:
                        description: >
                          If present, match NS instances with an instance
                          identifier listed in this attribute. See note 2.
                        type: array
                        items:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                      nsInstanceNames:
                        description: >
                          If present, match NS instances with a NS Instance Name
                          listed in this attribute. See note 2.
                        type: array
                        items:
                          description: |
                            A string as defined in IETF RFC 8259.
                          type: string
                  notificationTypes:
                    description: "Match particular notification types. Permitted values: - NsLcmOperationOccurrenceNotification - NsIdentifierCreationNotification - NsIdentifierDeletionNotification -\tNsLcmCapacityShortageNotification - NsChangeNotification\nSee note.\n"
                    type: array
                    items:
                      type: string
                      enum:
                        - NsLcmOperationOccurenceNotification
                        - NsIdentifierCreationNotification
                        - NsIdentifierDeletionNotification
                        - NsChangeNotification
                  operationTypes:
                    description: >
                      Match particular NS lifecycle operation types for the
                      notification of type NsLcmOperationOccurrenceNotification.
                      May be present if the "notificationTypes" attribute
                      contains the value "NsLcmOperationOccurrenceNotification",
                      and shall be absent otherwise.
                    type: array
                    items:
                      description: >
                        The enumeration NsLcmOpType represents those lifecycle
                        operations that trigger a NS lifecycle management
                        operation occurrence notification. Value | Description
                        ------|------------ INSTANTIATE | Represents the
                        "Instantiate NS" LCM operation. SCALE | Represents the
                        "Scale NS" LCM operation. UPDATE | Represents the
                        "Update NS" LCM operation. TERMINATE | Represents the
                        "Terminate NS" LCM operation. HEAL | Represents the
                        "Heal NS" LCM operation.
                      type: string
                      enum:
                        - INSTANTIATE
                        - SCALE
                        - UPDATE
                        - TERMINATE
                        - HEAL
                  operationStates:
                    description: >
                      Match particular LCM operation state values as reported in
                      notifications of type
                      NsLcmOperationOccurrenceNotification. May be present if
                      the "notificationTypes" attribute contains the value
                      "NsLcmOperationOccurrenceNotification", and shall be
                      absent otherwise.
                    type: array
                    items:
                      description: >
                        Value | Description ------|------------ PROCESSING | The
                        LCM operation is currently in execution. COMPLETED | The
                        LCM operation has been completed successfully.
                        PARTIALLY_COMPLETED | The LCM operation has been
                        partially completed with accepTable errors. FAILED_TEMP
                        | The LCM operation has failed and execution has
                        stopped, but the execution of the operation is not
                        considered to be closed. FAILED | The LCM operation has
                        failed and it cannot be retried or rolled back, as it is
                        determined that such action will not succeed.
                        OLLING_BACK | The LCM operation is currently being
                        rolled back. ROLLED_BACK | The LCM operation has been
                        successfully rolled back, i.e. The state of the NS prior
                        to the original operation invocation has been restored
                        as closely as possible.
                      type: string
                      enum:
                        - PROCESSING
                        - COMPLETED
                        - PARTIALLY_COMPLETED
                        - FAILED_TEMP
                        - FAILED
                        - ROLLING_BACK
                        - ROLLED_BACK
                  affectedNsInstanceIds:
                    description: >
                      Match particular identifiers of the NS instance(s) related
                      to the operation occurrence that were affected by the
                      shortage as reported in notifications of type
                      NsLcmCapacityShortageNotification. May be present if the
                      "notificationTypes" attribute contains the value
                      "NsLcmCapacityShortageNotification", and shall be absent
                      otherwise.
                    items:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                  nsComponentTypes:
                    description: >
                      Match particular NS component types for the notification
                      of type NsChangeNotification. May be present if the
                      "notificationTypes" attribute contains the value "NsChang.
                    type: array
                    items:
                      description: >
                        The enumeration NsComponentType represents the NS
                        component type. It shall comply with the provisions
                        defined in Table 6.5.4.5-1. Value | Description
                        ------|------------ VNF | Represents the impacted NS
                        component is a VNF. PNF | Represents the impacted NS
                        component is a PNF. NS | Represents the impacted NS
                        component is a nested NS.
                      type: string
                      enum:
                        - VNF
                        - PNF
                        - NS
                  lcmOpNameImpactingNsComponent:
                    description: >
                      Match particular LCM operation names for the notification
                      of type NsChangeNotification. May be present if the
                      "notificationTypes" attribute contains the value
                      "NsChangeNotification", and shall be absent otherwise.
                    type: array
                    items:
                      description: >
                        The enumeration LcmOpNameForChangeNotificationType
                        represents the name of the lifecycle operation that
                        impacts the NS component and trigger an NS change
                        notification. It shall comply with the provisions
                        defined in Table 6.5.4.6-1. Value | Description
                        ------|------------ VNF_INSTANTIATE | Represents the
                        "Instantiate VNF" LCM operation. VNF_SCALE | Represents
                        the "Scale VNF" LCM operation. VNF_SCALE_TO_LEVEL |
                        Represents the "Scale VNF to Level" LCM operation.
                        VNF_CHANGE_FLAVOUR | Represents the "Change VNF Flavor"
                        LCM operation. VNF_TERMINATE | Represents the "Terminate
                        VNF" LCM operation. VNF_HEAL | Represents the "Heal VNF"
                        LCM operation. VNF_OPERATE | Represents the "Operate
                        VNF" LCM operation. VNF_CHANGE_EXT_CONN | Represents the
                        "Change external VNF connectivity" LCM operation.
                        VNF_MODIFY_INFO | Represents the "Modify VNF
                        Information" LCM operation.            NS_INSTANTIATE |
                        Represents the "Instantiate NS" LCM operation NS_SCALE |
                        Represents the "Scale NS" LCM operation. NS_UPDATE |
                        Represents the "Update NS" LCM operation. NS_TERMINATE |
                        Represents the "Terminate NS" LCM operation. NS_HEAL |
                        Represents the "Heal NS" LCM operation.
                      type: string
                      enum:
                        - VNF_INSTANTIATE
                        - VNF_SCALE
                        - VNF_SCALE_TO_LEVEL
                        - VNF_CHANGE_FLAVOUR
                        - VNF_TERMINATE
                        - VNF_HEAL
                        - VNF_OPERATE
                        - VNF_CHANGE_EXT_CONN
                        - VNF_MODIFY_INFO
                        - VNF_CREATE_SNAPSHOT
                        - VNF_REVERT_TO_SNAPSHOT
                        - VNF_CHANGE_VNFPKG
                        - NS_INSTANTIATE
                        - NS_SCALE
                        - NS_UPDATE
                        - NS_TERMINATE
                        - NS_HEAL
                  lcmOpOccStatusImpactingNsComponent:
                    description: >
                      Match particular LCM operation status values as reported
                      in notifications of type NsChangeNotification. May be
                      present if the "notificationTypes" attribute contains the
                      value "NsChangeNotification", and shall be absent
                      otherwise.
                    type: array
                    items:
                      description: "The enumeration LcmOpNameForChangeNotificationType represents the name of the lifecycle operation that impacts the NS component and trigger an NS change notification. It shall comply with the provisions defined in table 6.5.4.6-1.\nValue                   | Description VNF_INSTANTIATE\t        Represents the \"Instantiate VNF\" LCM operation. VNF_SCALE\t                Represents the \"Scale VNF\" LCM operation. VNF_SCALE_TO_LEVEL\t    Represents the \"Scale VNF to Level\" LCM operation. VNF_CHANGE_FLAVOUR\t    Represents the \"Change VNF Flavour\" LCM operation. VNF_TERMINATE\t            Represents the \"Terminate VNF\" LCM operation. VNF_HEAL\t                Represents the \"Heal VNF\" LCM operation. VNF_OPERATE\t            Represents the \"Operate VNF\" LCM operation. VNF_CHANGE_EXT_CONN\t    Represents the \"Change external VNF connectivity\" LCM operation. VNF_MODIFY_INFO\t        Represents the \"Modify VNF Information\" LCM operation. VNF_CREATE_SNAPSHOT\t    Represents the \"Create VNF Snapshot\" LCM operation. VNF_REVERT_TO_SNAPSHOT\tRepresents the \"Revert To VNF Snapshot\" LCM operation. VNF_CHANGE_VNFPKG\t        Represents the \"Change current VNF package\" LCM operation. NS_INSTANTIATE\t        Represents the \"Instantiate NS\" LCM operation. NS_SCALE\t                Represents the \"Scale NS\" LCM operation. NS_UPDATE\t                Represents the \"Update NS\" LCM operation. NS_TERMINATE\t            Represents the \"Terminate NS\" LCM operation. NS_HEAL\t                Represents the \"Heal NS\" LCM operation.\n"
                      type: string
                      enum:
                        - VNF_INSTANTIATE
                        - VNF_SCALE
                        - VNF_SCALE_TO_LEVEL
                        - VNF_CHANGE_FLAVOUR
                        - VNF_TERMINATE
                        - VNF_HEAL
                        - VNF_OPERATE
                        - VNF_CHANGE_EXT_CONN
                        - VNF_MODIFY_INFO
                        - VNF_CREATE_SNAPSHOT
                        - VNF_REVERT_TO_SNAPSHOT
                        - VNF_CHANGE_VNFPKG
                        - NS_INSTANTIATE
                        - NS_SCALE
                        - NS_UPDATE
                        - NS_TERMINATE
                        - NS_HEAL
              callbackUri:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
                format: uri
              verbosity:
                description: >
                  The enumeration LcmOpOccNotificationVerbosityType provides
                  values to control the verbosity of LCM operation occurrence
                  notifications. It shall comply with the provisions defined in
                  table 6.5.4.11-1. * FULL: This signals a full notification
                  which contains all change details. * SHORT: This signals a
                  short notification which omits large-volume change details to
                  reduce the size of data to
                           be sent via the notification mechanism.
                type: string
                enum:
                  - FULL
                  - SHORT
              _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
    IndividualNsLcmSubscription.Delete.204:
      description: >
        204 NO CONTENT

        Shall be returned when the "Individual subscription" resource has been
        deleted successfully. The response

        body shall be empty.
      headers:
        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: {}
    VnfSnapshots.Get.200:
      description: >
        200 OK

        Shall be returned when information about zero or more VNF snapshots was
        queried successfully.

        The response body shall contain in an array the representations of zero
        or more "Individual VNF snapshot" resources,

        as defined in clause 6.5.2.17.

        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.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: array
            items:
              description: >
                This type represents an "Individual VNF snapshot" resource. The
                "id" attributed is used by the NFVO to index and

                identify the VNF snapshots information resources that are
                accessible via the NFVO. The identifier is still

                generated by the VNFM and copied into the present
                "VnfSnapshotInfo" representing the "Individual VNF snapshot"

                resource hold by the NFVO.
              type: object
              required:
                - id
              properties:
                id:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                vnfSnapshotPkgId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                vnfSnapshot:
                  description: >
                    This type represents a VNF Snapshot. It shall comply with
                    the provisions defined in table 6.5.2.18-1.
                  type: object
                  required:
                    - id
                    - vnfInstanceId
                    - triggeredAt
                    - createdAt
                    - vnfdId
                    - vnfInstance
                    - vnfcSnapshots
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfInstanceId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    creationStartedAt:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    creationFinishedAt:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according toas defined by the date-time production in
                        IETF RFC 3339.
                      format: date-time
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfInstance:
                      description: >
                        This type represents a VNF instance. It shall comply
                        with the provisions defined in table 6.5.3.57-1.

                        NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides
                        examples illustrating the relationship among the 
                              different run-time information elements (CP, VL and link ports) used to represent the connectivity 
                              of a VNF.

                        NOTE 1: Modifying the value of this attribute shall not
                        be performed when conflicts exist between the 
                                previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to 
                                the previous VNFD in other aspects than merely referencing to other VNF software images. 
                                In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, 
                                the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall 
                                be kept in sync with the values in the VNFD.
                        NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and
                        format of the VNFD based on TOSCA specifications. NOTE
                        3: VNF configurable properties are sometimes also
                        referred to as configuration parameters applicable 
                                to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, 
                                some are set prior to instantiation (are part of initial configuration) and can be modified later, 
                                and others can be set only after instantiation. The applicability of certain configuration may depend 
                                on the VNF and the required operation of the VNF at a certain point in time.
                        NOTE 4: It is possible to have several
                        ExtManagedVirtualLinkInfo for the same VNF internal VL
                        in case of a 
                                multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same 
                                VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed 
                                multi-site VL instance (refer to clause 6.5.3.59).
                        NOTE 5: Even though externally-managed internal VLs are
                        also used for VNF-internal connectivity, they shall not 
                                be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
                      type: object
                      required:
                        - id
                        - vnfdId
                        - vnfProvider
                        - vnfProductName
                        - vnfSoftwareVersion
                        - vnfdVersion
                        - vnfPkgId
                        - instantiationState
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfInstanceName:
                          description: >
                            Name of the VNF instance. Modifications to this
                            attribute can be requested using the
                            "ModifyVnfInfoData" structure.
                          type: string
                        vnfInstanceDescription:
                          description: >
                            Human-readable description of the VNF instance.
                            Modifications to this attribute can be requested
                            using the "ModifyVnfInfoData" structure.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfProvider:
                          description: >
                            Provider of the VNF and the VNFD. The value is
                            copied from the VNFD.
                          type: string
                        vnfProductName:
                          description: >
                            Name to identify the VNF Product. The value is
                            copied from the VNFD.
                          type: string
                        vnfSoftwareVersion:
                          description: >
                            A Version. Representation: string of variable
                            length.
                          type: string
                        vnfdVersion:
                          description: >
                            A Version. Representation: string of variable
                            length.
                          type: string
                        vnfPkgId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfConfigurableProperties:
                          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
                        vimId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        instantiationState:
                          description: >
                            The instantiation state of the VNF.

                            Permitted values: - NOT_INSTANTIATED: The VNF
                            instance is terminated or not instantiated. -
                            INSTANTIATED: The VNF instance is instantiated.
                          type: string
                          enum:
                            - NOT_INSTANTIATED
                            - INSTANTIATED
                        instantiatedVnfInfo:
                          description: >
                            Information specific to an instantiated VNF
                            instance. This attribute shall be present if the
                            instantiateState attribute value is INSTANTIATED.
                          type: object
                          required:
                            - flavourId
                            - vnfState
                            - extCpInfo
                          properties:
                            flavourId:
                              description: >
                                Identifier of the VNF Virtual Link Descriptor
                                (VLD) in the VNFD.
                              type: string
                            vnfState:
                              type: string
                              enum:
                                - STARTED
                                - STOPPED
                            scaleStatus:
                              description: >
                                Scale status of the VNF, one entry per aspect.
                                Represents for every scaling aspect how "big"
                                the VNF has been scaled w.r.t. that aspect.
                              type: array
                              items:
                                required:
                                  - aspectId
                                  - scaleLevel
                                type: object
                                properties:
                                  aspectId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  scaleLevel:
                                    description: >
                                      Indicates the scale level. The minimum
                                      value shall be 0 and the maximum value
                                      shall be <= maxScaleLevel as described in
                                      the VNFD.
                                    type: integer
                            maxScaleLevels:
                              description: >
                                Maximum allowed scale levels of the VNF, one
                                entry per aspect. This attribute shall be
                                present if the VNF supports scaling.
                              type: array
                              items:
                                required:
                                  - aspectId
                                  - scaleLevel
                                type: object
                                properties:
                                  aspectId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  scaleLevel:
                                    description: >
                                      Indicates the scale level. The minimum
                                      value shall be 0 and the maximum value
                                      shall be <= maxScaleLevel as described in
                                      the VNFD.
                                    type: integer
                            extCpInfo:
                              description: >
                                Information about the external CPs exposed by
                                the VNF instance. When trunking is enabled, the
                                list of entries includes both, external CPs
                                corresponding to parent ports of a trunk, and
                                external CPs associated to sub-ports of a trunk.
                              type: array
                              minItems: 1
                              items:
                                description: "This type represents information about an external CP of a VNF. It shall comply  with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n"
                                type: object
                                required:
                                  - id
                                  - cpdId
                                oneOf:
                                  - required:
                                      - associatedVnfcCpId
                                  - required:
                                      - associatedVnfVirtualLinkId
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  cpConfigId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  cpProtocolInfo:
                                    description: |
                                      Network protocol information for this CP.
                                    type: array
                                    minItems: 1
                                    items:
                                      description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                        - ipOverEthernet
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information. Permitted values:
                                              - IP_OVER_ETHERNET

                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                        ipOverEthernet:
                                          description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - macAddress
                                            - required:
                                                - ipAddresses
                                          properties:
                                            macAddress:
                                              description: >
                                                A MAC address. Representation: string
                                                that consists of groups of two
                                                hexadecimal digits, separated by hyphens
                                                or colons.
                                              type: string
                                              format: MAC
                                            segmentationId:
                                              description: >
                                                Identification of the network segment to
                                                which the Cp instance connects to. See
                                                note 3 and note 4.
                                              type: string
                                            ipAddresses:
                                              description: >
                                                Addresses assigned to the CP instance.
                                                Each entry represents IP addresses
                                                assigned by fixed or dynamic IP address
                                                assignment per subnet. See note 1.
                                              type: array
                                              items:
                                                type: object
                                                required:
                                                  - type
                                                oneOf:
                                                  - required:
                                                      - addresses
                                                  - required:
                                                      - addressRange
                                                properties:
                                                  type:
                                                    description: >
                                                      The type of the IP addresses. Permitted
                                                      values: - IPV4 - IPV6
                                                    type: string
                                                    enum:
                                                      - IPV4
                                                      - IPV6
                                                  addresses:
                                                    description: >
                                                      Fixed addresses assigned (from the
                                                      subnet defined by "subnetId" if
                                                      provided). See note 2.
                                                    type: array
                                                    items:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                  isDynamic:
                                                    description: >
                                                      Indicates whether this set of addresses
                                                      was assigned dynamically (true) or based
                                                      on address information provided as input
                                                      from the API consumer (false). Shall be
                                                      present if "addresses" is present and
                                                      shall be absent otherwise.
                                                    type: boolean
                                                  addressRange:
                                                    description: >
                                                      An IP address range used, e.g., in case
                                                      of egress connections. Exactly one of
                                                      "addresses" or "addressRange" shall be
                                                      present. See note 2.
                                                    type: object
                                                    required:
                                                      - minAddress
                                                      - maxAddress
                                                    properties:
                                                      minAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      maxAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                  subnetId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                            type:
                                              description: |
                                                The type of the IP addresses
                                              type: string
                                              enum:
                                                - PV4
                                                - PV6
                                            addresses:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            isDynamic:
                                              description: >
                                                Indicates whether this set of addresses
                                                was assigned dynamically (true) or based
                                                on address information provided as input
                                                from the API consumer (false). Shall be
                                                present if "addresses" is present and
                                                shall be absent otherwise.
                                              type: boolean
                                            addressRange:
                                              description: >
                                                An IP address range used, e.g. in case
                                                of egress connections. See note.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                  extLinkPortId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    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
                                  associatedVnfcCpId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  associatedVipCpId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  associatedVnfVirtualLinkId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                            vipCpInfo:
                              description: >
                                VIP CPs that are part of the VNF instance. Shall
                                be present when that particular VIP CP of the
                                VNFC instance is associated to an external CP of
                                the VNF instance. May be present otherwise.
                              type: array
                              items:
                                description: >
                                  This type provides information related to
                                  virtual IP (VIP) CP. It shall comply with the
                                  provisions defined in table 6.5.3.97 1.
                                  NOTE:   It is possible that there is no
                                  associated VnfcCp because the VIP CP is
                                  available but not associated yet.
                                type: object
                                required:
                                  - cpInstanceId
                                  - cpdId
                                properties:
                                  cpInstanceId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  cpdId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfExtCpId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  cpProtocolInfo:
                                    description: >
                                      Protocol information for this CP. There
                                      shall be one cpProtocolInfo for layer 3.
                                      There may be one cpProtocolInfo for layer
                                      2.
                                    type: array
                                    items:
                                      description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                        - ipOverEthernet
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information. Permitted values:
                                              - IP_OVER_ETHERNET

                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                        ipOverEthernet:
                                          description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - macAddress
                                            - required:
                                                - ipAddresses
                                          properties:
                                            macAddress:
                                              description: >
                                                A MAC address. Representation: string
                                                that consists of groups of two
                                                hexadecimal digits, separated by hyphens
                                                or colons.
                                              type: string
                                              format: MAC
                                            segmentationId:
                                              description: >
                                                Identification of the network segment to
                                                which the Cp instance connects to. See
                                                note 3 and note 4.
                                              type: string
                                            ipAddresses:
                                              description: >
                                                Addresses assigned to the CP instance.
                                                Each entry represents IP addresses
                                                assigned by fixed or dynamic IP address
                                                assignment per subnet. See note 1.
                                              type: array
                                              items:
                                                type: object
                                                required:
                                                  - type
                                                oneOf:
                                                  - required:
                                                      - addresses
                                                  - required:
                                                      - addressRange
                                                properties:
                                                  type:
                                                    description: >
                                                      The type of the IP addresses. Permitted
                                                      values: - IPV4 - IPV6
                                                    type: string
                                                    enum:
                                                      - IPV4
                                                      - IPV6
                                                  addresses:
                                                    description: >
                                                      Fixed addresses assigned (from the
                                                      subnet defined by "subnetId" if
                                                      provided). See note 2.
                                                    type: array
                                                    items:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                  isDynamic:
                                                    description: >
                                                      Indicates whether this set of addresses
                                                      was assigned dynamically (true) or based
                                                      on address information provided as input
                                                      from the API consumer (false). Shall be
                                                      present if "addresses" is present and
                                                      shall be absent otherwise.
                                                    type: boolean
                                                  addressRange:
                                                    description: >
                                                      An IP address range used, e.g., in case
                                                      of egress connections. Exactly one of
                                                      "addresses" or "addressRange" shall be
                                                      present. See note 2.
                                                    type: object
                                                    required:
                                                      - minAddress
                                                      - maxAddress
                                                    properties:
                                                      minAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      maxAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                  subnetId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                            type:
                                              description: |
                                                The type of the IP addresses
                                              type: string
                                              enum:
                                                - PV4
                                                - PV6
                                            addresses:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            isDynamic:
                                              description: >
                                                Indicates whether this set of addresses
                                                was assigned dynamically (true) or based
                                                on address information provided as input
                                                from the API consumer (false). Shall be
                                                present if "addresses" is present and
                                                shall be absent otherwise.
                                              type: boolean
                                            addressRange:
                                              description: >
                                                An IP address range used, e.g. in case
                                                of egress connections. See note.
                                              type: object
                                              required:
                                                - minAddress
                                                - maxAddress
                                              properties:
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                            minAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            maxAddress:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            subnetId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                  associatedVnfcCpIds:
                                    description: >
                                      Identifiers of the VnfcCps that share the
                                      virtual IP addresse allocated to the VIP
                                      CP instance. See note.
                                    type: array
                                    items:
                                      description: >
                                        An identifier that is unique for the
                                        respective type within a VNF instance,
                                        but may not be globally unique.
                                      type: string
                                  vnfLinkPortId:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  metadata:
                                    description: >
                                      Allows the OSS/BSS to provide additional
                                      parameter(s) to the termination process at
                                      the NS level.
                                    type: array
                                    items:
                                      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
                            extVirtualLinkInfo:
                              description: >
                                Information about the external VLs the VNF
                                instance is connected to.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  extLinkPorts:
                                    description: |
                                      Link ports of this VL.
                                    type: array
                                    items:
                                      description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                      type: object
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        secondaryCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                  currentVnfExtCpData:
                                    description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                    type: object
                                    required:
                                      - cpdId
                                    properties:
                                      cpdId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      cpConfig:
                                        description: >
                                          Map of instance data that need to be
                                          configured on the CP instances  created
                                          from the respective CPD. The key of the
                                          map which identifies  the individual
                                          VnfExtCpConfig entries is of type
                                          "IdentifierInVnf"  and is managed by the
                                          API consumer. The entries shall be
                                          applied by  the VNFM according to the
                                          rules of JSON Merge Patch (see IETF RFC
                                          7396 [11]).  See notes 2, 3 and 4.
                                        type: object
                                        additionalProperties:
                                          description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                          type: object
                                          anyOf:
                                            - required:
                                                - linkPortId
                                            - required:
                                                - cpProtocolData
                                          properties:
                                            parentCpConfigId:
                                              description: >
                                                An identifier that is unique for the
                                                respective type within a VNF instance,
                                                but may not be globally unique.
                                              type: string
                                            linkPortId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            createExtLinkPort:
                                              description: >
                                                Indicates the need to create a dedicated
                                                link port for the external CP. If set to
                                                True, a link port is created. If set to
                                                False, no link port is created. This
                                                attribute is only applicable for
                                                external CP instances without a floating
                                                IP address that expose a VIP CP instance
                                                for which a dedicated IP address is
                                                allocated. It shall be present in that
                                                case and shall be absent otherwise.
                                              type: boolean
                                            cpProtocolData:
                                              description: >
                                                Parameters for configuring the network
                                                protocols on the link port that connects
                                                the CP to a VL. See note 1.
                                              type: array
                                              items:
                                                description: >
                                                  This type represents network protocol
                                                  data.
                                                type: object
                                                required:
                                                  - layerProtocol
                                                properties:
                                                  layerProtocol:
                                                    description: >
                                                      Identifier of layer(s) and protocol(s).
                                                      Permitted values: IP_OVER_ETHERNET.
                                                    type: string
                                                    enum:
                                                      - IP_OVER_ETHERNET
                                                  ipOverEthernet:
                                                    description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                    type: object
                                                    anyOf:
                                                      - required:
                                                          - ipAddresses
                                                      - required:
                                                          - macAddress
                                                    properties:
                                                      macAddress:
                                                        description: >
                                                          A MAC address. Representation: string
                                                          that consists of groups of two
                                                          hexadecimal digits, separated by hyphens
                                                          or colons.
                                                        type: string
                                                        format: MAC
                                                      segmentationType:
                                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                        type: string
                                                        enum:
                                                          - VLAN
                                                          - INHERIT
                                                      segmentationId:
                                                        description: >
                                                          Identification of the network segment to
                                                          which the CP instance connects to. See
                                                          note 3 and note 4.
                                                        type: string
                                                      ipAddresses:
                                                        description: >
                                                          List of IP addresses to assign to the CP
                                                          instance. Each entry represents IP
                                                          address data for fixed or dynamic IP
                                                          address assignment per subnet. If this
                                                          attribute is not present, no IP address
                                                          shall be assigned. See note 1.
                                                        type: array
                                                        items:
                                                          type: object
                                                          required:
                                                            - type
                                                          oneOf:
                                                            - required:
                                                                - fixedAddresses
                                                            - required:
                                                                - numDynamicAddresses
                                                            - required:
                                                                - addressRange
                                                          properties:
                                                            type:
                                                              description: >
                                                                The type of the IP addresses. Permitted
                                                                values:
                                                                  - IPV4
                                                                  - IPV6
                                                              type: string
                                                              enum:
                                                                - IPV4
                                                                - IPV6
                                                            fixedAddresses:
                                                              description: >
                                                                Fixed addresses to assign (from the
                                                                subnet defined by "subnetId" if
                                                                provided). Exactly one of
                                                                "fixedAddresses", "numDynamicAddresses"
                                                                or "ipAddressRange" shall be present.
                                                              type: array
                                                              items:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                            numDynamicAddresses:
                                                              description: >
                                                                Number of dynamic addresses to assign
                                                                (from the subnet defined by "subnetId"
                                                                if provided). See note 2.
                                                              type: integer
                                                            addressRange:
                                                              description: >
                                                                An IP address range to be used, e.g. in
                                                                case of egress connections. In case this
                                                                attribute is present, IP addresses from
                                                                the range will be used.
                                                              type: object
                                                              required:
                                                                - minAddress
                                                                - maxAddress
                                                              properties:
                                                                minAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                                maxAddress:
                                                                  description: >
                                                                    An IPV4 or IPV6 address. Representation:
                                                                    In case of an IPV4 address, string that
                                                                    consists of four decimal integers
                                                                    separated by dots, each integer ranging
                                                                    from 0 to 255. In case of an IPV6
                                                                    address, string that consists of groups
                                                                    of zero to four hexadecimal digits,
                                                                    separated by colons.
                                                                  type: string
                                                                  format: IP
                                                            subnetId:
                                                              description: >
                                                                An identifier maintained by the VIM or
                                                                other resource provider. It is expected
                                                                to be unique within the VIM instance.
                                                                Representation: string of variable
                                                                length.
                                                              type: string
                            extManagedVirtualLinkInfo:
                              description: >
                                Information about the externally-managed
                                internal VLs of the VNF instance.  See note 4
                                and note 5.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - vnfVirtualLinkDescId
                                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
                                  vnfVirtualLinkDescId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  networkResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  vnfLinkPorts:
                                    description: |
                                      Link ports of this VL.
                                    type: array
                                    items:
                                      type: object
                                      description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpInstanceType:
                                          description: >
                                            Type of the CP instance that is
                                            identified by cpInstanceId. Shall be
                                            present if "cpInstanceId" is present,
                                            and shall be absent otherwise. Permitted
                                            values: * VNFC_CP: The link port is
                                            connected to a VNFC CP * EXT_CP: The
                                            link port is associated to an external
                                            CP. See note 1.
                                          type: string
                                          enum:
                                            - VNFC_CP
                                            - EXT_CP
                                        vipCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          type: string
                                  extManagedMultisiteVirtualLinkId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                            monitoringParameters:
                              description: >
                                Performance metrics tracked by the VNFM (e.g.
                                for  auto-scaling purposes) as identified by the
                                VNF  provider in the VNFD.
                              type: array
                              items:
                                description: >
                                  This type represents a monitoring parameter
                                  that is tracked by the VNFM, for example,  for
                                  auto-scaling purposes. It shall comply with
                                  the provisions defined in Table 6.5.3.69-1.
                                type: object
                                required:
                                  - id
                                  - performanceMetric
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique within a NS
                                      descriptor. Representation: string of
                                      variable length.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  name:
                                    description: >
                                      Human readable name of the monitoring
                                      parameter, as defined in the VNFD.
                                    type: string
                                  performanceMetric:
                                    description: >
                                      Performance metric that is monitored. This
                                      attribute shall contain the related 
                                      "Measurement Name" value as defined in
                                      clause 7.2 of ETSI GS NFV-IFA 027.
                                    type: string
                            localizationLanguage:
                              description: >
                                Information about localization language of the
                                VNF (includes e.g. strings in the VNFD). The
                                localization languages supported by a VNF can be
                                declared in the VNFD, and localization language
                                selection can take place at instantiation time.
                                The value shall comply with the format defined
                                in IETF RFC 5646.
                              type: string
                            vnfcResourceInfo:
                              description: >
                                Information about the virtualised compute and
                                storage resources used by the VNFCs of the VNF
                                instance.
                              type: array
                              items:
                                description: "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n"
                                type: object
                                required:
                                  - id
                                  - vduId
                                  - computeResource
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vduId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  computeResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  storageResourceIds:
                                    description: >
                                      References to the VirtualStorage
                                      resources. The value refers to a
                                      VirtualStorageResourceInfo item in the
                                      VnfInstance.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                  reservationId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfcCpInfo:
                                    description: >
                                      CPs of the VNFC instance. Shall be present
                                      when that particular CP of the VNFC
                                      instance is exposed as an external CP of
                                      the VNF instance or is connected to an
                                      external CP of the VNF instance.See note
                                      2. May be present otherwise.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - id
                                        - cpdId
                                      properties:
                                        id:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpdId:
                                          description: >
                                            Identifier of the VNF Virtual Link
                                            Descriptor (VLD) in the VNFD.
                                          type: string
                                        vnfExtCpId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpProtocolInfo:
                                          description: >
                                            Network protocol information for this
                                            CP. May be omitted if the VNFC CP is
                                            exposed as an external CP. See note 3.
                                          type: array
                                          items:
                                            description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                            type: object
                                            required:
                                              - layerProtocol
                                              - ipOverEthernet
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  The identifier of layer(s) and
                                                  protocol(s) associated to the network
                                                  address information. Permitted values:
                                                    - IP_OVER_ETHERNET

                                                  See note.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                              ipOverEthernet:
                                                description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                type: object
                                                anyOf:
                                                  - required:
                                                      - macAddress
                                                  - required:
                                                      - ipAddresses
                                                properties:
                                                  macAddress:
                                                    description: >
                                                      A MAC address. Representation: string
                                                      that consists of groups of two
                                                      hexadecimal digits, separated by hyphens
                                                      or colons.
                                                    type: string
                                                    format: MAC
                                                  segmentationId:
                                                    description: >
                                                      Identification of the network segment to
                                                      which the Cp instance connects to. See
                                                      note 3 and note 4.
                                                    type: string
                                                  ipAddresses:
                                                    description: >
                                                      Addresses assigned to the CP instance.
                                                      Each entry represents IP addresses
                                                      assigned by fixed or dynamic IP address
                                                      assignment per subnet. See note 1.
                                                    type: array
                                                    items:
                                                      type: object
                                                      required:
                                                        - type
                                                      oneOf:
                                                        - required:
                                                            - addresses
                                                        - required:
                                                            - addressRange
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values: - IPV4 - IPV6
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        addresses:
                                                          description: >
                                                            Fixed addresses assigned (from the
                                                            subnet defined by "subnetId" if
                                                            provided). See note 2.
                                                          type: array
                                                          items:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                        isDynamic:
                                                          description: >
                                                            Indicates whether this set of addresses
                                                            was assigned dynamically (true) or based
                                                            on address information provided as input
                                                            from the API consumer (false). Shall be
                                                            present if "addresses" is present and
                                                            shall be absent otherwise.
                                                          type: boolean
                                                        addressRange:
                                                          description: >
                                                            An IP address range used, e.g., in case
                                                            of egress connections. Exactly one of
                                                            "addresses" or "addressRange" shall be
                                                            present. See note 2.
                                                          type: object
                                                          required:
                                                            - minAddress
                                                            - maxAddress
                                                          properties:
                                                            minAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                            maxAddress:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                        subnetId:
                                                          description: >
                                                            An identifier maintained by the VIM or
                                                            other resource provider. It is expected
                                                            to be unique within the VIM instance.
                                                            Representation: string of variable
                                                            length.
                                                          type: string
                                                  type:
                                                    description: |
                                                      The type of the IP addresses
                                                    type: string
                                                    enum:
                                                      - PV4
                                                      - PV6
                                                  addresses:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  isDynamic:
                                                    description: >
                                                      Indicates whether this set of addresses
                                                      was assigned dynamically (true) or based
                                                      on address information provided as input
                                                      from the API consumer (false). Shall be
                                                      present if "addresses" is present and
                                                      shall be absent otherwise.
                                                    type: boolean
                                                  addressRange:
                                                    description: >
                                                      An IP address range used, e.g. in case
                                                      of egress connections. See note.
                                                    type: object
                                                    required:
                                                      - minAddress
                                                      - maxAddress
                                                    properties:
                                                      minAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      maxAddress:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                  minAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  maxAddress:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  subnetId:
                                                    description: >
                                                      An identifier maintained by the VIM or
                                                      other resource provider. It is expected
                                                      to be unique within the VIM instance.
                                                      Representation: string of variable
                                                      length.
                                                    type: string
                                        parentCpId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        vnfLinkPortId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          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
                                  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
                            vnfVirtualLinkResourceInfo:
                              description: >
                                Information about the virtualised network
                                resources used by the VLs of the VNF instance.
                                See note 5.
                              type: array
                              items:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by an internal VL instance in a VNF
                                  instance.
                                type: object
                                required:
                                  - id
                                  - vnfVirtualLinkDescId
                                  - networkResource
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfVirtualLinkDescId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  networkResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  reservationId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfLinkPorts:
                                    description: >
                                      Links ports of this VL. Shall be present
                                      when the linkPort is used for external
                                      connectivity by the VNF (refer to
                                      VnfLinkPortInfo). May be present
                                      otherwise.
                                    type: array
                                    items:
                                      type: object
                                      description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                      required:
                                        - id
                                        - resourceHandle
                                      properties:
                                        id:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        resourceHandle:
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance
                                            or by an NS instance. Information about
                                            the resource is available from the VIM.
                                            NOTE: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM, the WIM or
                                            the resource provider and can be used as
                                            information that complements the
                                            ResourceHandle.
                                          type: object
                                          required:
                                            - resourceId
                                          properties:
                                            vimId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceProviderId:
                                              description: >
                                                An identifier with the intention of
                                                being globally unique.
                                              type: string
                                            resourceId:
                                              description: >
                                                An identifier maintained by the VIM or
                                                other resource provider. It is expected
                                                to be unique within the VIM instance.
                                                Representation: string of variable
                                                length.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM, the WIM or the resource provider.
                                                The value set of the
                                                "vimLevelResourceType" attribute is
                                                within the scope of the VIM, the WIM or
                                                the resource provider and can be used as
                                                information that complements the
                                                ResourceHandle. See note.
                                              type: string
                                        cpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        cpInstanceType:
                                          description: >
                                            Type of the CP instance that is
                                            identified by cpInstanceId. Shall be
                                            present if "cpInstanceId" is present,
                                            and shall be absent otherwise. Permitted
                                            values: * VNFC_CP: The link port is
                                            connected to a VNFC CP * EXT_CP: The
                                            link port is associated to an external
                                            CP. See note 1.
                                          type: string
                                          enum:
                                            - VNFC_CP
                                            - EXT_CP
                                        vipCpInstanceId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        trunkResourceId:
                                          description: >
                                            An identifier maintained by the VIM or
                                            other resource provider. It is expected
                                            to be unique within the VIM instance.
                                            Representation: string of variable
                                            length.
                                          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
                            virtualStorageResourceInfo:
                              description: >
                                Information on the virtualised storage
                                resource(s) used as storage for the VNF
                                instance.
                              type: array
                              items:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance.
                                type: object
                                required:
                                  - id
                                  - virtualStorageDescId
                                  - storageResource
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                  virtualStorageDescId:
                                    description: >
                                      Identifier of the VNF Virtual Link
                                      Descriptor (VLD) in the VNFD.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  storageResource:
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance or by an NS
                                      instance. Information about the resource
                                      is available from the VIM. NOTE: The value
                                      set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle.
                                    type: object
                                    required:
                                      - resourceId
                                    properties:
                                      vimId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceProviderId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM, the WIM or the resource provider.
                                          The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle. See note.
                                        type: string
                                  reservationId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    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
                        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
                        extensions:
                          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
                    vnfcSnapshots:
                      description: >
                        Information about VNFC Snapshots constituting this VNF
                        Snapshot.
                      type: array
                      items:
                        description: "This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1. NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC Snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\". NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot with an associated storage resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n"
                        type: object
                        required:
                          - id
                          - vnfcInstanceId
                          - triggeredAt
                          - createdAt
                          - vnfcInfoId
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfcInstanceId:
                            description: >
                              An identifier that is unique for the respective
                              type within a VNF instance, but may not be
                              globally unique.
                            type: string
                          creationStartedAt:
                            description: >
                              Date-time stamp. Representation: String formatted
                              according toas defined by the date-time production
                              in IETF RFC 3339.
                            format: date-time
                          creationFinishedAt:
                            description: >
                              Date-time stamp. Representation: String formatted
                              according toas defined by the date-time production
                              in IETF RFC 3339.
                            format: date-time
                          vnfcResourceInfoId:
                            description: >
                              An identifier that is unique for the respective
                              type within a VNF instance, but may not be
                              globally unique.
                            type: string
                          computeSnapshotResource:
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance or by an NS instance. Information
                              about the resource is available from the VIM.
                              NOTE: The value set of the "vimLevelResourceType"
                              attribute is within the scope of the VIM, the WIM
                              or the resource provider and can be used as
                              information that complements the ResourceHandle.
                            type: object
                            required:
                              - resourceId
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceProviderId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              resourceId:
                                description: >
                                  An identifier maintained by the VIM or other
                                  resource provider. It is expected to be unique
                                  within the VIM instance. Representation:
                                  string of variable length.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM,
                                  the WIM or the resource provider. The value
                                  set of the "vimLevelResourceType" attribute is
                                  within the scope of the VIM, the WIM or the
                                  resource provider and can be used as
                                  information that complements the
                                  ResourceHandle. See note.
                                type: string
                          storageSnapshotResources:
                            description: >
                              Reference to the "VirtualStorageResourceInfo"
                              structure in the "VnfInstance" structure that
                              represents the virtual storage resource. See note
                              2.
                            type: array
                            items:
                              type: object
                              required:
                                - storageResourceId
                              properties:
                                storageResourceId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                storageSnapshotResources:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      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
                    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
                _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
    IndividualVnfSnapshot.Get.200:
      description: >
        200 OK

        Shall be returned when information about an individual VNF snapshot was
        read successfully.

        The response body shall contain a representation of the "Individual VNF
        snapshot" resource, as defined in clause

        6.5.2.17.
      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:
            description: >
              This type represents an "Individual VNF snapshot" resource. The
              "id" attributed is used by the NFVO to index and

              identify the VNF snapshots information resources that are
              accessible via the NFVO. The identifier is still

              generated by the VNFM and copied into the present
              "VnfSnapshotInfo" representing the "Individual VNF snapshot"

              resource hold by the NFVO.
            type: object
            required:
              - id
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfSnapshotPkgId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfSnapshot:
                description: >
                  This type represents a VNF Snapshot. It shall comply with the
                  provisions defined in table 6.5.2.18-1.
                type: object
                required:
                  - id
                  - vnfInstanceId
                  - triggeredAt
                  - createdAt
                  - vnfdId
                  - vnfInstance
                  - vnfcSnapshots
                properties:
                  id:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfInstanceId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  creationStartedAt:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according toas defined by the date-time production in IETF
                      RFC 3339.
                    format: date-time
                  creationFinishedAt:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according toas defined by the date-time production in IETF
                      RFC 3339.
                    format: date-time
                  vnfdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfInstance:
                    description: >
                      This type represents a VNF instance. It shall comply with
                      the provisions defined in table 6.5.3.57-1.

                      NOTE: Clause B.3.2 of ETSI GS NFV-SOL 003 provides
                      examples illustrating the relationship among the 
                            different run-time information elements (CP, VL and link ports) used to represent the connectivity 
                            of a VNF.

                      NOTE 1: Modifying the value of this attribute shall not be
                      performed when conflicts exist between the 
                              previous and the newly referred VNF package, i.e. when the new VNFD is changed with respect to 
                              the previous VNFD in other aspects than merely referencing to other VNF software images. 
                              In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded VNF Package, 
                              the values of attributes in the VnfInstance that have corresponding attributes in the VNFD shall 
                              be kept in sync with the values in the VNFD.
                      NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and
                      format of the VNFD based on TOSCA specifications. NOTE 3:
                      VNF configurable properties are sometimes also referred to
                      as configuration parameters applicable 
                              to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, 
                              some are set prior to instantiation (are part of initial configuration) and can be modified later, 
                              and others can be set only after instantiation. The applicability of certain configuration may depend 
                              on the VNF and the required operation of the VNF at a certain point in time.
                      NOTE 4: It is possible to have several
                      ExtManagedVirtualLinkInfo for the same VNF internal VL in
                      case of a 
                              multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same 
                              VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed 
                              multi-site VL instance (refer to clause 6.5.3.59).
                      NOTE 5: Even though externally-managed internal VLs are
                      also used for VNF-internal connectivity, they shall not 
                              be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
                    type: object
                    required:
                      - id
                      - vnfdId
                      - vnfProvider
                      - vnfProductName
                      - vnfSoftwareVersion
                      - vnfdVersion
                      - vnfPkgId
                      - instantiationState
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfInstanceName:
                        description: >
                          Name of the VNF instance. Modifications to this
                          attribute can be requested using the
                          "ModifyVnfInfoData" structure.
                        type: string
                      vnfInstanceDescription:
                        description: >
                          Human-readable description of the VNF instance.
                          Modifications to this attribute can be requested using
                          the "ModifyVnfInfoData" structure.
                        type: string
                      vnfdId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfProvider:
                        description: >
                          Provider of the VNF and the VNFD. The value is copied
                          from the VNFD.
                        type: string
                      vnfProductName:
                        description: >
                          Name to identify the VNF Product. The value is copied
                          from the VNFD.
                        type: string
                      vnfSoftwareVersion:
                        description: |
                          A Version. Representation: string of variable length.
                        type: string
                      vnfdVersion:
                        description: |
                          A Version. Representation: string of variable length.
                        type: string
                      vnfPkgId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfConfigurableProperties:
                        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
                      vimId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      instantiationState:
                        description: >
                          The instantiation state of the VNF.

                          Permitted values: - NOT_INSTANTIATED: The VNF instance
                          is terminated or not instantiated. - INSTANTIATED: The
                          VNF instance is instantiated.
                        type: string
                        enum:
                          - NOT_INSTANTIATED
                          - INSTANTIATED
                      instantiatedVnfInfo:
                        description: >
                          Information specific to an instantiated VNF instance.
                          This attribute shall be present if the
                          instantiateState attribute value is INSTANTIATED.
                        type: object
                        required:
                          - flavourId
                          - vnfState
                          - extCpInfo
                        properties:
                          flavourId:
                            description: >
                              Identifier of the VNF Virtual Link Descriptor
                              (VLD) in the VNFD.
                            type: string
                          vnfState:
                            type: string
                            enum:
                              - STARTED
                              - STOPPED
                          scaleStatus:
                            description: >
                              Scale status of the VNF, one entry per aspect.
                              Represents for every scaling aspect how "big" the
                              VNF has been scaled w.r.t. that aspect.
                            type: array
                            items:
                              required:
                                - aspectId
                                - scaleLevel
                              type: object
                              properties:
                                aspectId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleLevel:
                                  description: >
                                    Indicates the scale level. The minimum value
                                    shall be 0 and the maximum value shall be <=
                                    maxScaleLevel as described in the VNFD.
                                  type: integer
                          maxScaleLevels:
                            description: >
                              Maximum allowed scale levels of the VNF, one entry
                              per aspect. This attribute shall be present if the
                              VNF supports scaling.
                            type: array
                            items:
                              required:
                                - aspectId
                                - scaleLevel
                              type: object
                              properties:
                                aspectId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleLevel:
                                  description: >
                                    Indicates the scale level. The minimum value
                                    shall be 0 and the maximum value shall be <=
                                    maxScaleLevel as described in the VNFD.
                                  type: integer
                          extCpInfo:
                            description: >
                              Information about the external CPs exposed by the
                              VNF instance. When trunking is enabled, the list
                              of entries includes both, external CPs
                              corresponding to parent ports of a trunk, and
                              external CPs associated to sub-ports of a trunk.
                            type: array
                            minItems: 1
                            items:
                              description: "This type represents information about an external CP of a VNF. It shall comply  with the provisions defined in Table 6.5.3.70-1. NOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\" and \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present. NOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the “extLinkPorts” attribute in clause 6.5.3.26.\n"
                              type: object
                              required:
                                - id
                                - cpdId
                              oneOf:
                                - required:
                                    - associatedVnfcCpId
                                - required:
                                    - associatedVnfVirtualLinkId
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                cpdId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                cpConfigId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                cpProtocolInfo:
                                  description: |
                                    Network protocol information for this CP.
                                  type: array
                                  minItems: 1
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                      - ipOverEthernet
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information. Permitted values:
                                            - IP_OVER_ETHERNET

                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                      ipOverEthernet:
                                        description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                        type: object
                                        anyOf:
                                          - required:
                                              - macAddress
                                          - required:
                                              - ipAddresses
                                        properties:
                                          macAddress:
                                            description: >
                                              A MAC address. Representation: string
                                              that consists of groups of two
                                              hexadecimal digits, separated by hyphens
                                              or colons.
                                            type: string
                                            format: MAC
                                          segmentationId:
                                            description: >
                                              Identification of the network segment to
                                              which the Cp instance connects to. See
                                              note 3 and note 4.
                                            type: string
                                          ipAddresses:
                                            description: >
                                              Addresses assigned to the CP instance.
                                              Each entry represents IP addresses
                                              assigned by fixed or dynamic IP address
                                              assignment per subnet. See note 1.
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - type
                                              oneOf:
                                                - required:
                                                    - addresses
                                                - required:
                                                    - addressRange
                                              properties:
                                                type:
                                                  description: >
                                                    The type of the IP addresses. Permitted
                                                    values: - IPV4 - IPV6
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                addresses:
                                                  description: >
                                                    Fixed addresses assigned (from the
                                                    subnet defined by "subnetId" if
                                                    provided). See note 2.
                                                  type: array
                                                  items:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                isDynamic:
                                                  description: >
                                                    Indicates whether this set of addresses
                                                    was assigned dynamically (true) or based
                                                    on address information provided as input
                                                    from the API consumer (false). Shall be
                                                    present if "addresses" is present and
                                                    shall be absent otherwise.
                                                  type: boolean
                                                addressRange:
                                                  description: >
                                                    An IP address range used, e.g., in case
                                                    of egress connections. Exactly one of
                                                    "addresses" or "addressRange" shall be
                                                    present. See note 2.
                                                  type: object
                                                  required:
                                                    - minAddress
                                                    - maxAddress
                                                  properties:
                                                    minAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                subnetId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                          type:
                                            description: |
                                              The type of the IP addresses
                                            type: string
                                            enum:
                                              - PV4
                                              - PV6
                                          addresses:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          isDynamic:
                                            description: >
                                              Indicates whether this set of addresses
                                              was assigned dynamically (true) or based
                                              on address information provided as input
                                              from the API consumer (false). Shall be
                                              present if "addresses" is present and
                                              shall be absent otherwise.
                                            type: boolean
                                          addressRange:
                                            description: >
                                              An IP address range used, e.g. in case
                                              of egress connections. See note.
                                            type: object
                                            required:
                                              - minAddress
                                              - maxAddress
                                            properties:
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          minAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          maxAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          subnetId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                extLinkPortId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  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
                                associatedVnfcCpId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                associatedVipCpId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                associatedVnfVirtualLinkId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                          vipCpInfo:
                            description: >
                              VIP CPs that are part of the VNF instance. Shall
                              be present when that particular VIP CP of the VNFC
                              instance is associated to an external CP of the
                              VNF instance. May be present otherwise.
                            type: array
                            items:
                              description: >
                                This type provides information related to
                                virtual IP (VIP) CP. It shall comply with the
                                provisions defined in table 6.5.3.97 1. NOTE:  
                                It is possible that there is no associated
                                VnfcCp because the VIP CP is available but not
                                associated yet.
                              type: object
                              required:
                                - cpInstanceId
                                - cpdId
                              properties:
                                cpInstanceId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                cpdId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfExtCpId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                cpProtocolInfo:
                                  description: >
                                    Protocol information for this CP. There
                                    shall be one cpProtocolInfo for layer 3.
                                    There may be one cpProtocolInfo for layer 2.
                                  type: array
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                      - ipOverEthernet
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information. Permitted values:
                                            - IP_OVER_ETHERNET

                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                      ipOverEthernet:
                                        description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                        type: object
                                        anyOf:
                                          - required:
                                              - macAddress
                                          - required:
                                              - ipAddresses
                                        properties:
                                          macAddress:
                                            description: >
                                              A MAC address. Representation: string
                                              that consists of groups of two
                                              hexadecimal digits, separated by hyphens
                                              or colons.
                                            type: string
                                            format: MAC
                                          segmentationId:
                                            description: >
                                              Identification of the network segment to
                                              which the Cp instance connects to. See
                                              note 3 and note 4.
                                            type: string
                                          ipAddresses:
                                            description: >
                                              Addresses assigned to the CP instance.
                                              Each entry represents IP addresses
                                              assigned by fixed or dynamic IP address
                                              assignment per subnet. See note 1.
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - type
                                              oneOf:
                                                - required:
                                                    - addresses
                                                - required:
                                                    - addressRange
                                              properties:
                                                type:
                                                  description: >
                                                    The type of the IP addresses. Permitted
                                                    values: - IPV4 - IPV6
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                addresses:
                                                  description: >
                                                    Fixed addresses assigned (from the
                                                    subnet defined by "subnetId" if
                                                    provided). See note 2.
                                                  type: array
                                                  items:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                isDynamic:
                                                  description: >
                                                    Indicates whether this set of addresses
                                                    was assigned dynamically (true) or based
                                                    on address information provided as input
                                                    from the API consumer (false). Shall be
                                                    present if "addresses" is present and
                                                    shall be absent otherwise.
                                                  type: boolean
                                                addressRange:
                                                  description: >
                                                    An IP address range used, e.g., in case
                                                    of egress connections. Exactly one of
                                                    "addresses" or "addressRange" shall be
                                                    present. See note 2.
                                                  type: object
                                                  required:
                                                    - minAddress
                                                    - maxAddress
                                                  properties:
                                                    minAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                subnetId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                          type:
                                            description: |
                                              The type of the IP addresses
                                            type: string
                                            enum:
                                              - PV4
                                              - PV6
                                          addresses:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          isDynamic:
                                            description: >
                                              Indicates whether this set of addresses
                                              was assigned dynamically (true) or based
                                              on address information provided as input
                                              from the API consumer (false). Shall be
                                              present if "addresses" is present and
                                              shall be absent otherwise.
                                            type: boolean
                                          addressRange:
                                            description: >
                                              An IP address range used, e.g. in case
                                              of egress connections. See note.
                                            type: object
                                            required:
                                              - minAddress
                                              - maxAddress
                                            properties:
                                              minAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              maxAddress:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                          minAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          maxAddress:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          subnetId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                associatedVnfcCpIds:
                                  description: >
                                    Identifiers of the VnfcCps that share the
                                    virtual IP addresse allocated to the VIP CP
                                    instance. See note.
                                  type: array
                                  items:
                                    description: >
                                      An identifier that is unique for the
                                      respective type within a VNF instance, but
                                      may not be globally unique.
                                    type: string
                                vnfLinkPortId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                metadata:
                                  description: >
                                    Allows the OSS/BSS to provide additional
                                    parameter(s) to the termination process at
                                    the NS level.
                                  type: array
                                  items:
                                    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
                          extVirtualLinkInfo:
                            description: >
                              Information about the external VLs the VNF
                              instance is connected to.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - resourceHandle
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                extLinkPorts:
                                  description: |
                                    Link ports of this VL.
                                  type: array
                                  items:
                                    description: "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n"
                                    type: object
                                    required:
                                      - id
                                      - resourceHandle
                                    properties:
                                      id:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      resourceHandle:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      cpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      secondaryCpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      trunkResourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                currentVnfExtCpData:
                                  description: "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\"  or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is  moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry  may be used by an external CP instance different than the one that has used it before the operation, or  by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation  does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                  type: object
                                  required:
                                    - cpdId
                                  properties:
                                    cpdId:
                                      description: >
                                        Identifier of the VNF Virtual Link
                                        Descriptor (VLD) in the VNFD.
                                      type: string
                                    cpConfig:
                                      description: >
                                        Map of instance data that need to be
                                        configured on the CP instances  created
                                        from the respective CPD. The key of the
                                        map which identifies  the individual
                                        VnfExtCpConfig entries is of type
                                        "IdentifierInVnf"  and is managed by the
                                        API consumer. The entries shall be
                                        applied by  the VNFM according to the
                                        rules of JSON Merge Patch (see IETF RFC
                                        7396 [11]).  See notes 2, 3 and 4.
                                      type: object
                                      additionalProperties:
                                        description: "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n  -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n  an external CP instance representing a subport that is to be created, or an external CP instance\n  that is to be created by creating the corresponding VNFC or VNF instance during the current or\n  a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n  or added to a particular external virtual link.\n  -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n  -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n  the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n"
                                        type: object
                                        anyOf:
                                          - required:
                                              - linkPortId
                                          - required:
                                              - cpProtocolData
                                        properties:
                                          parentCpConfigId:
                                            description: >
                                              An identifier that is unique for the
                                              respective type within a VNF instance,
                                              but may not be globally unique.
                                            type: string
                                          linkPortId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          createExtLinkPort:
                                            description: >
                                              Indicates the need to create a dedicated
                                              link port for the external CP. If set to
                                              True, a link port is created. If set to
                                              False, no link port is created. This
                                              attribute is only applicable for
                                              external CP instances without a floating
                                              IP address that expose a VIP CP instance
                                              for which a dedicated IP address is
                                              allocated. It shall be present in that
                                              case and shall be absent otherwise.
                                            type: boolean
                                          cpProtocolData:
                                            description: >
                                              Parameters for configuring the network
                                              protocols on the link port that connects
                                              the CP to a VL. See note 1.
                                            type: array
                                            items:
                                              description: >
                                                This type represents network protocol
                                                data.
                                              type: object
                                              required:
                                                - layerProtocol
                                              properties:
                                                layerProtocol:
                                                  description: >
                                                    Identifier of layer(s) and protocol(s).
                                                    Permitted values: IP_OVER_ETHERNET.
                                                  type: string
                                                  enum:
                                                    - IP_OVER_ETHERNET
                                                ipOverEthernet:
                                                  description: "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                                  type: object
                                                  anyOf:
                                                    - required:
                                                        - ipAddresses
                                                    - required:
                                                        - macAddress
                                                  properties:
                                                    macAddress:
                                                      description: >
                                                        A MAC address. Representation: string
                                                        that consists of groups of two
                                                        hexadecimal digits, separated by hyphens
                                                        or colons.
                                                      type: string
                                                      format: MAC
                                                    segmentationType:
                                                      description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n"
                                                      type: string
                                                      enum:
                                                        - VLAN
                                                        - INHERIT
                                                    segmentationId:
                                                      description: >
                                                        Identification of the network segment to
                                                        which the CP instance connects to. See
                                                        note 3 and note 4.
                                                      type: string
                                                    ipAddresses:
                                                      description: >
                                                        List of IP addresses to assign to the CP
                                                        instance. Each entry represents IP
                                                        address data for fixed or dynamic IP
                                                        address assignment per subnet. If this
                                                        attribute is not present, no IP address
                                                        shall be assigned. See note 1.
                                                      type: array
                                                      items:
                                                        type: object
                                                        required:
                                                          - type
                                                        oneOf:
                                                          - required:
                                                              - fixedAddresses
                                                          - required:
                                                              - numDynamicAddresses
                                                          - required:
                                                              - addressRange
                                                        properties:
                                                          type:
                                                            description: >
                                                              The type of the IP addresses. Permitted
                                                              values:
                                                                - IPV4
                                                                - IPV6
                                                            type: string
                                                            enum:
                                                              - IPV4
                                                              - IPV6
                                                          fixedAddresses:
                                                            description: >
                                                              Fixed addresses to assign (from the
                                                              subnet defined by "subnetId" if
                                                              provided). Exactly one of
                                                              "fixedAddresses", "numDynamicAddresses"
                                                              or "ipAddressRange" shall be present.
                                                            type: array
                                                            items:
                                                              description: >
                                                                An IPV4 or IPV6 address. Representation:
                                                                In case of an IPV4 address, string that
                                                                consists of four decimal integers
                                                                separated by dots, each integer ranging
                                                                from 0 to 255. In case of an IPV6
                                                                address, string that consists of groups
                                                                of zero to four hexadecimal digits,
                                                                separated by colons.
                                                              type: string
                                                              format: IP
                                                          numDynamicAddresses:
                                                            description: >
                                                              Number of dynamic addresses to assign
                                                              (from the subnet defined by "subnetId"
                                                              if provided). See note 2.
                                                            type: integer
                                                          addressRange:
                                                            description: >
                                                              An IP address range to be used, e.g. in
                                                              case of egress connections. In case this
                                                              attribute is present, IP addresses from
                                                              the range will be used.
                                                            type: object
                                                            required:
                                                              - minAddress
                                                              - maxAddress
                                                            properties:
                                                              minAddress:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                              maxAddress:
                                                                description: >
                                                                  An IPV4 or IPV6 address. Representation:
                                                                  In case of an IPV4 address, string that
                                                                  consists of four decimal integers
                                                                  separated by dots, each integer ranging
                                                                  from 0 to 255. In case of an IPV6
                                                                  address, string that consists of groups
                                                                  of zero to four hexadecimal digits,
                                                                  separated by colons.
                                                                type: string
                                                                format: IP
                                                          subnetId:
                                                            description: >
                                                              An identifier maintained by the VIM or
                                                              other resource provider. It is expected
                                                              to be unique within the VIM instance.
                                                              Representation: string of variable
                                                              length.
                                                            type: string
                          extManagedVirtualLinkInfo:
                            description: >
                              Information about the externally-managed internal
                              VLs of the VNF instance.  See note 4 and note 5.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - vnfVirtualLinkDescId
                              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
                                vnfVirtualLinkDescId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                networkResource:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                vnfLinkPorts:
                                  description: |
                                    Link ports of this VL.
                                  type: array
                                  items:
                                    type: object
                                    description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                    required:
                                      - id
                                      - resourceHandle
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      resourceHandle:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      cpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpInstanceType:
                                        description: >
                                          Type of the CP instance that is
                                          identified by cpInstanceId. Shall be
                                          present if "cpInstanceId" is present,
                                          and shall be absent otherwise. Permitted
                                          values: * VNFC_CP: The link port is
                                          connected to a VNFC CP * EXT_CP: The
                                          link port is associated to an external
                                          CP. See note 1.
                                        type: string
                                        enum:
                                          - VNFC_CP
                                          - EXT_CP
                                      vipCpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      trunkResourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        type: string
                                extManagedMultisiteVirtualLinkId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          monitoringParameters:
                            description: >
                              Performance metrics tracked by the VNFM (e.g. for 
                              auto-scaling purposes) as identified by the VNF 
                              provider in the VNFD.
                            type: array
                            items:
                              description: >
                                This type represents a monitoring parameter that
                                is tracked by the VNFM, for example,  for
                                auto-scaling purposes. It shall comply with the
                                provisions defined in Table 6.5.3.69-1.
                              type: object
                              required:
                                - id
                                - performanceMetric
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique within a NS
                                    descriptor. Representation: string of
                                    variable length.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                name:
                                  description: >
                                    Human readable name of the monitoring
                                    parameter, as defined in the VNFD.
                                  type: string
                                performanceMetric:
                                  description: >
                                    Performance metric that is monitored. This
                                    attribute shall contain the related 
                                    "Measurement Name" value as defined in
                                    clause 7.2 of ETSI GS NFV-IFA 027.
                                  type: string
                          localizationLanguage:
                            description: >
                              Information about localization language of the VNF
                              (includes e.g. strings in the VNFD). The
                              localization languages supported by a VNF can be
                              declared in the VNFD, and localization language
                              selection can take place at instantiation time.
                              The value shall comply with the format defined in
                              IETF RFC 5646.
                            type: string
                          vnfcResourceInfo:
                            description: >
                              Information about the virtualised compute and
                              storage resources used by the VNFCs of the VNF
                              instance.
                            type: array
                            items:
                              description: "This type represents the information on virtualised compute and storage resources used by a VNFC in a VNF instance. NOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external CP if it is connected directly to an external VL. NOTE 3:\tThe information can be omitted because it is already available as part of the external CP information. \n"
                              type: object
                              required:
                                - id
                                - vduId
                                - computeResource
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vduId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                computeResource:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                storageResourceIds:
                                  description: >
                                    References to the VirtualStorage resources.
                                    The value refers to a
                                    VirtualStorageResourceInfo item in the
                                    VnfInstance.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                reservationId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfcCpInfo:
                                  description: >
                                    CPs of the VNFC instance. Shall be present
                                    when that particular CP of the VNFC instance
                                    is exposed as an external CP of the VNF
                                    instance or is connected to an external CP
                                    of the VNF instance.See note 2. May be
                                    present otherwise.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - id
                                      - cpdId
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpdId:
                                        description: >
                                          Identifier of the VNF Virtual Link
                                          Descriptor (VLD) in the VNFD.
                                        type: string
                                      vnfExtCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpProtocolInfo:
                                        description: >
                                          Network protocol information for this
                                          CP. May be omitted if the VNFC CP is
                                          exposed as an external CP. See note 3.
                                        type: array
                                        items:
                                          description: "This type describes the protocol layer(s) that a CP or SAP uses together with protocol-related information, like addresses. It shall comply with the provisions defined in Table 6.5.3.58-1. NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n"
                                          type: object
                                          required:
                                            - layerProtocol
                                            - ipOverEthernet
                                          properties:
                                            layerProtocol:
                                              description: >
                                                The identifier of layer(s) and
                                                protocol(s) associated to the network
                                                address information. Permitted values:
                                                  - IP_OVER_ETHERNET

                                                See note.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                            ipOverEthernet:
                                              description: "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n"
                                              type: object
                                              anyOf:
                                                - required:
                                                    - macAddress
                                                - required:
                                                    - ipAddresses
                                              properties:
                                                macAddress:
                                                  description: >
                                                    A MAC address. Representation: string
                                                    that consists of groups of two
                                                    hexadecimal digits, separated by hyphens
                                                    or colons.
                                                  type: string
                                                  format: MAC
                                                segmentationId:
                                                  description: >
                                                    Identification of the network segment to
                                                    which the Cp instance connects to. See
                                                    note 3 and note 4.
                                                  type: string
                                                ipAddresses:
                                                  description: >
                                                    Addresses assigned to the CP instance.
                                                    Each entry represents IP addresses
                                                    assigned by fixed or dynamic IP address
                                                    assignment per subnet. See note 1.
                                                  type: array
                                                  items:
                                                    type: object
                                                    required:
                                                      - type
                                                    oneOf:
                                                      - required:
                                                          - addresses
                                                      - required:
                                                          - addressRange
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values: - IPV4 - IPV6
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      addresses:
                                                        description: >
                                                          Fixed addresses assigned (from the
                                                          subnet defined by "subnetId" if
                                                          provided). See note 2.
                                                        type: array
                                                        items:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                      isDynamic:
                                                        description: >
                                                          Indicates whether this set of addresses
                                                          was assigned dynamically (true) or based
                                                          on address information provided as input
                                                          from the API consumer (false). Shall be
                                                          present if "addresses" is present and
                                                          shall be absent otherwise.
                                                        type: boolean
                                                      addressRange:
                                                        description: >
                                                          An IP address range used, e.g., in case
                                                          of egress connections. Exactly one of
                                                          "addresses" or "addressRange" shall be
                                                          present. See note 2.
                                                        type: object
                                                        required:
                                                          - minAddress
                                                          - maxAddress
                                                        properties:
                                                          minAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                          maxAddress:
                                                            description: >
                                                              An IPV4 or IPV6 address. Representation:
                                                              In case of an IPV4 address, string that
                                                              consists of four decimal integers
                                                              separated by dots, each integer ranging
                                                              from 0 to 255. In case of an IPV6
                                                              address, string that consists of groups
                                                              of zero to four hexadecimal digits,
                                                              separated by colons.
                                                            type: string
                                                            format: IP
                                                      subnetId:
                                                        description: >
                                                          An identifier maintained by the VIM or
                                                          other resource provider. It is expected
                                                          to be unique within the VIM instance.
                                                          Representation: string of variable
                                                          length.
                                                        type: string
                                                type:
                                                  description: |
                                                    The type of the IP addresses
                                                  type: string
                                                  enum:
                                                    - PV4
                                                    - PV6
                                                addresses:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                isDynamic:
                                                  description: >
                                                    Indicates whether this set of addresses
                                                    was assigned dynamically (true) or based
                                                    on address information provided as input
                                                    from the API consumer (false). Shall be
                                                    present if "addresses" is present and
                                                    shall be absent otherwise.
                                                  type: boolean
                                                addressRange:
                                                  description: >
                                                    An IP address range used, e.g. in case
                                                    of egress connections. See note.
                                                  type: object
                                                  required:
                                                    - minAddress
                                                    - maxAddress
                                                  properties:
                                                    minAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                    maxAddress:
                                                      description: >
                                                        An IPV4 or IPV6 address. Representation:
                                                        In case of an IPV4 address, string that
                                                        consists of four decimal integers
                                                        separated by dots, each integer ranging
                                                        from 0 to 255. In case of an IPV6
                                                        address, string that consists of groups
                                                        of zero to four hexadecimal digits,
                                                        separated by colons.
                                                      type: string
                                                      format: IP
                                                minAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                maxAddress:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                subnetId:
                                                  description: >
                                                    An identifier maintained by the VIM or
                                                    other resource provider. It is expected
                                                    to be unique within the VIM instance.
                                                    Representation: string of variable
                                                    length.
                                                  type: string
                                      parentCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      vnfLinkPortId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        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
                                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
                          vnfVirtualLinkResourceInfo:
                            description: >
                              Information about the virtualised network
                              resources used by the VLs of the VNF instance. See
                              note 5.
                            type: array
                            items:
                              description: >
                                This type represents the information that allows
                                addressing a virtualised resource that is used
                                by an internal VL instance in a VNF instance.
                              type: object
                              required:
                                - id
                                - vnfVirtualLinkDescId
                                - networkResource
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfVirtualLinkDescId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                networkResource:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                reservationId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfLinkPorts:
                                  description: >
                                    Links ports of this VL. Shall be present
                                    when the linkPort is used for external
                                    connectivity by the VNF (refer to
                                    VnfLinkPortInfo). May be present otherwise.
                                  type: array
                                  items:
                                    type: object
                                    description: "This type represents a link port of an internal VL of a VNF. It shall comply with the provisions defined in table 6.5.3.64-1.\nNOTE 1:\tEither cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId are present, the two different CP instances share the linkport.\n"
                                    required:
                                      - id
                                      - resourceHandle
                                    properties:
                                      id:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      resourceHandle:
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance
                                          or by an NS instance. Information about
                                          the resource is available from the VIM.
                                          NOTE: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM, the WIM or
                                          the resource provider and can be used as
                                          information that complements the
                                          ResourceHandle.
                                        type: object
                                        required:
                                          - resourceId
                                        properties:
                                          vimId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceProviderId:
                                            description: >
                                              An identifier with the intention of
                                              being globally unique.
                                            type: string
                                          resourceId:
                                            description: >
                                              An identifier maintained by the VIM or
                                              other resource provider. It is expected
                                              to be unique within the VIM instance.
                                              Representation: string of variable
                                              length.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM, the WIM or the resource provider.
                                              The value set of the
                                              "vimLevelResourceType" attribute is
                                              within the scope of the VIM, the WIM or
                                              the resource provider and can be used as
                                              information that complements the
                                              ResourceHandle. See note.
                                            type: string
                                      cpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      cpInstanceType:
                                        description: >
                                          Type of the CP instance that is
                                          identified by cpInstanceId. Shall be
                                          present if "cpInstanceId" is present,
                                          and shall be absent otherwise. Permitted
                                          values: * VNFC_CP: The link port is
                                          connected to a VNFC CP * EXT_CP: The
                                          link port is associated to an external
                                          CP. See note 1.
                                        type: string
                                        enum:
                                          - VNFC_CP
                                          - EXT_CP
                                      vipCpInstanceId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      trunkResourceId:
                                        description: >
                                          An identifier maintained by the VIM or
                                          other resource provider. It is expected
                                          to be unique within the VIM instance.
                                          Representation: string of variable
                                          length.
                                        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
                          virtualStorageResourceInfo:
                            description: >
                              Information on the virtualised storage resource(s)
                              used as storage for the VNF instance.
                            type: array
                            items:
                              description: >
                                This type represents the information that allows
                                addressing a virtualised resource that is used
                                by a VNF instance.
                              type: object
                              required:
                                - id
                                - virtualStorageDescId
                                - storageResource
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                virtualStorageDescId:
                                  description: >
                                    Identifier of the VNF Virtual Link
                                    Descriptor (VLD) in the VNFD.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                storageResource:
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance or by an NS
                                    instance. Information about the resource is
                                    available from the VIM. NOTE: The value set
                                    of the "vimLevelResourceType" attribute is
                                    within the scope of the VIM, the WIM or the
                                    resource provider and can be used as
                                    information that complements the
                                    ResourceHandle.
                                  type: object
                                  required:
                                    - resourceId
                                  properties:
                                    vimId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceProviderId:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                    resourceId:
                                      description: >
                                        An identifier maintained by the VIM or
                                        other resource provider. It is expected
                                        to be unique within the VIM instance.
                                        Representation: string of variable
                                        length.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM, the WIM or the resource provider.
                                        The value set of the
                                        "vimLevelResourceType" attribute is
                                        within the scope of the VIM, the WIM or
                                        the resource provider and can be used as
                                        information that complements the
                                        ResourceHandle. See note.
                                      type: string
                                reservationId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  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
                      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
                      extensions:
                        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
                  vnfcSnapshots:
                    description: >
                      Information about VNFC Snapshots constituting this VNF
                      Snapshot.
                    type: array
                    items:
                      description: "This type represents a VNFC Snapshot. It shall comply with the provisions defined in table 6.5.3.77-1. NOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC Snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\". NOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being returned from the VIM as output data in the response message of the individual resource operations. This attribute shall only be present for a VNFC snapshot with an associated storage resource and that has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n"
                      type: object
                      required:
                        - id
                        - vnfcInstanceId
                        - triggeredAt
                        - createdAt
                        - vnfcInfoId
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfcInstanceId:
                          description: >
                            An identifier that is unique for the respective type
                            within a VNF instance, but may not be globally
                            unique.
                          type: string
                        creationStartedAt:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        creationFinishedAt:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according toas defined by the date-time production
                            in IETF RFC 3339.
                          format: date-time
                        vnfcResourceInfoId:
                          description: >
                            An identifier that is unique for the respective type
                            within a VNF instance, but may not be globally
                            unique.
                          type: string
                        computeSnapshotResource:
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance or by an NS instance. Information about
                            the resource is available from the VIM. NOTE: The
                            value set of the "vimLevelResourceType" attribute is
                            within the scope of the VIM, the WIM or the resource
                            provider and can be used as information that
                            complements the ResourceHandle.
                          type: object
                          required:
                            - resourceId
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceProviderId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            resourceId:
                              description: >
                                An identifier maintained by the VIM or other
                                resource provider. It is expected to be unique
                                within the VIM instance. Representation: string
                                of variable length.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM,
                                the WIM or the resource provider. The value set
                                of the "vimLevelResourceType" attribute is
                                within the scope of the VIM, the WIM or the
                                resource provider and can be used as information
                                that complements the ResourceHandle. See note.
                              type: string
                        storageSnapshotResources:
                          description: >
                            Reference to the "VirtualStorageResourceInfo"
                            structure in the "VnfInstance" structure that
                            represents the virtual storage resource. See note 2.
                          type: array
                          items:
                            type: object
                            required:
                              - storageResourceId
                            properties:
                              storageResourceId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              storageSnapshotResources:
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance or by an NS
                                  instance. Information about the resource is
                                  available from the VIM. NOTE: The value set of
                                  the "vimLevelResourceType" attribute is within
                                  the scope of the VIM, the WIM or the resource
                                  provider and can be used as information that
                                  complements the ResourceHandle.
                                type: object
                                required:
                                  - resourceId
                                properties:
                                  vimId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceProviderId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceId:
                                    description: >
                                      An identifier maintained by the VIM or
                                      other resource provider. It is expected to
                                      be unique within the VIM instance.
                                      Representation: string of variable length.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM, the WIM or the resource provider. The
                                      value set of the "vimLevelResourceType"
                                      attribute is within the scope of the VIM,
                                      the WIM or the resource provider and can
                                      be used as information that complements
                                      the ResourceHandle. See note.
                                    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
                  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
              _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
    IndividualVnfSnapshot.Delete.204:
      description: >
        204 NO CONTENT

        Shall be returned when the VNF snapshot resource and the associated VNF
        snapshot were 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
        WWW-Authenticate:
          description: >
            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: {}

