openapi: 3.0.2
info:
  title: SOL003 - VNF Lifecycle Management interface
  description: |
    SOL003 - VNF 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/SOL002-SOL003/issues
  contact:
    name: NFV-SOL WG
  license:
    name: ETSI Forge copyright notice
    url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt'
  version: '2.11.0-impl:etsi.org:ETSI_NFV_OpenAPI:1'
externalDocs:
  description: ETSI GS NFV-SOL 003 V4.4.1
  url: >-
    https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/04.04.01_60/gs_NFV-SOL003v040401p.pdf
servers:
  - url: 'http://127.0.0.1/vnflcm/v2'
  - url: 'https://127.0.0.1/vnflcm/v2'
paths:
  /api_versions:
    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: >
            API version information was read successfully. The response body
            shall contain API version information, as defined in 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 signaled by the uriPrefix
                      attribute.
                    type: array
                    items:
                      type: object
                      required:
                        - version
                      properties:
                        version:
                          description: >
                            Identifies a supported version. The value of the
                            version attribute shall be a version identifier as
                            specified in clause 9.1 (SOL013).
                          type: string
                        isDeprecated:
                          description: >
                            If such information is available, this attribute
                            indicates whether use of the version signaled by the
                            version attribute is deprecated (true) or not
                            (false).

                            A deprecated version is still supported by the API
                            producer but is recommended not to be used any
                            longer. When a version is no longer supported, it
                            does not appear in the response body.
                          type: boolean
                        retirementDate:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according to IETF RFC 3339.
                          type: string
                          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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 CONTENT

            If the message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances:
    parameters:
      - name: Accept
        description: >
          Content-Types that are acceptable for the response. Reference: IETF
          RFC 7231.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
    post:
      description: >
        The POST method creates a new VNF instance resource based on a VNF
        package that is onboarded

        and in "ENABLED" state. See clause 5.4.2.3.1.
      requestBody:
        $ref: '#/components/requestBodies/CreateVnfRequest'
      responses:
        '201':
          $ref: '#/components/responses/VNFInstances.Post.201'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/VNFInstances.Post.422'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
    get:
      description: >
        The GET method queries information about multiple VNF instances. See
        clause 5.4.2.3.2.
      parameters:
        - $ref: '#/components/parameters/filter_vnf_instances'
        - name: all_fields
          description: >
            Include all complex attributes in the response. See clause 5.3 of
            ETSI GS NFV-SOL 013 [8] for details. The VNFM 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 [8] for details. The VNFM 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 [8] for details. The VNFM should support this
            parameter.
          in: query
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/exclude_default_vnf_instances'
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be
            supported by the VNFM if the VNFM supports alternative 2 (paging)
            according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [8] for this
            resource.
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          $ref: '#/components/responses/VNFInstances.Get.200'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
    get:
      description: >
        The GET method retrieves information about a VNF instance by reading an
        "Individual VNF instance" resource.

        See clause 5.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
      responses:
        '200':
          $ref: '#/components/responses/IndividualVnfInstance.Get.200'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 modifies an "Individual VNF instance" resource. See clause
        5.4.3.3.4.
      parameters:
        - name: If-Unmodified-Since
          description: >
            Used to make the request method   conditional on the selected
            resource representation's last modification date being earlier than
            or equal to the date provided in the field-value. If the condition
            is not met, the request fails with a "412 Precondition Failed"
            response.
          required: false
          in: header
          schema:
            type: string
            format: date-time
        - name: If-Match
          description: >
            Used to make the request method conditional on the recipient origin
            server either having at least one current representation of the
            target resource, when the field-value is "*", or having a current
            representation of the target resource that has an entity-tag
            matching a member of the list of entity-tags provided in the
            field-value. If the condition is not met, the request fails with a
            "412 Precondition Failed" response.
          required: false
          in: header
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/VnfInfoModificationRequest'
      responses:
        '202':
          $ref: '#/components/responses/IndividualVnfInstance.Patch.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/IndividualVnfInstance.Patch.409'
        '412':
          $ref: '#/components/responses/IndividualVnfInstance.Patch.412'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 instance" resource. See clause
        5.4.3.3.5.
      responses:
        '204':
          $ref: '#/components/responses/IndividualVnfInstance.Delete.204'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/IndividualVnfInstance.Delete.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/instantiate':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: |
        The POST method instantiates a VNF instance. See clause 5.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/InstantiateVnfRequest'
      responses:
        '202':
          $ref: '#/components/responses/InstantiateVnfInstance.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/InstantiateVnfInstance.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/scale':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: >
        The POST method requests to scale a VNF instance resource incrementally.
        See clause 5.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/ScaleVnfRequest'
      responses:
        '202':
          $ref: '#/components/responses/ScaleVnfInstance.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/ScaleVnfInstance.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/ScaleVnfInstance.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/scale_to_level':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: >
        The POST method requests to scale a VNF instance resource to a target
        level. See clause 5.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/ScaleVnfToLevelRequest'
      responses:
        '202':
          $ref: '#/components/responses/ScaleToLevelVnfInstance.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/ScaleToLevelVnfInstance.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/ScaleToLevelVnfInstance.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/change_flavour':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: >
        The POST method changes the deployment flavour of a VNF instance. See
        clause 5.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/ChangeVnfFlavourRequest'
      responses:
        '202':
          $ref: '#/components/responses/ChangeFlavourVnfInstance.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/ChangeFlavourVnfInstance.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/ChangeFlavourVnfInstance.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/terminate':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: >
        The POST method triggers the VNFM to terminate a VNF instance and to
        request to the VIM the

        release of its used virtualised resources. See clause 5.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/TerminateVnfRequest'
      responses:
        '202':
          $ref: '#/components/responses/TerminateVnfInstance.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/TerminateVnfInstance.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/heal':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: |
        The POST method requests to heal a VNF instance. See clause 5.4.9.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/HealVnfRequest'
      responses:
        '202':
          $ref: '#/components/responses/HealVnfInstance.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/HealVnfInstance.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/HealVnfInstance.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/operate':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: >
        The POST method changes the operational state of a VNF instance. See
        clause 5.4.10.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/OperateVnfRequest'
      responses:
        '202':
          $ref: '#/components/responses/OperateVnfInstance.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/OperateVnfInstance.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/OperateVnfInstance.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/change_ext_conn':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: >
        The POST method changes the external connectivity of a VNF instance. See
        clause 5.4.11.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/ChangeExtVnfConnectivityRequest'
      responses:
        '202':
          $ref: '#/components/responses/ChangeExtConnVnfInstance.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/ChangeExtConnVnfInstance.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/change_vnfpkg':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: >
        The POST method changes the current VNF package on which the VNF
        instance is based. See clause 5.4.11a.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/ChangeCurrentVnfPkgRequest'
      responses:
        '202':
          $ref: '#/components/responses/ChangeVnfpkgVnfInstance.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/ChangeVnfpkgVnfInstance.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_lcm_op_occs:
    get:
      description: >
        The API consumer can use this method to query status information about
        multiple VNF lifecycle management

        operation occurrences. See clause 5.4.12.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/filter_vnf_lcm_op_occs'
        - name: all_fields
          description: >
            Include all complex attributes in the response. See clause 5.3 of
            ETSI GS NFV-SOL 013 [8] for details. The VNFM 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 [8] for details. The VNFM 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 [8] for details. The VNFM should support this
            parameter.
          in: query
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/exclude_default_vnf_lcm_op_occs'
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be
            supported by the VNFM if the VNFM supports alternative 2 (paging)
            according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [8] for this
            resource.
          in: query
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          $ref: '#/components/responses/VnfLcmOpOccs.Get.200'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_lcm_op_occs/{vnfLcmOpOccId}':
    parameters:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
    get:
      description: >
        The API consumer can use this method to retrieve status information
        about a VNF lifecycle management operation

        occurrence by reading an "Individual VNF LCM operation occurrence"
        resource. See clause 5.4.13.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          $ref: '#/components/responses/IndividualVnfLcmOpOcc.Get.200'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_lcm_op_occs/{vnfLcmOpOccId}/retry':
    parameters:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
    post:
      description: >
        The POST method initiates retrying a VNF lifecycle operation if that
        operation has experienced a temporary

        failure, i.e. the related "Individual VNF LCM operation occurrence"
        resource is in "FAILED_TEMP" state.

        See clause 5.4.14.3.1.
      parameters:
        - name: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      responses:
        '202':
          $ref: '#/components/responses/RetryVnfLcmOpOcc.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/RetryVnfLcmOpOcc.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/RetryVnfLcmOpOcc.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_lcm_op_occs/{vnfLcmOpOccId}/rollback':
    parameters:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
    post:
      description: >
        The POST method initiates rolling back a VNF lifecycle operation if that
        operation has experienced a temporary

        failure, i.e. the related "Individual VNF LCM operation occurrence"
        resource is in "FAILED_TEMP" state.

        See clause 5.4.15.3.1.
      parameters:
        - name: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      responses:
        '202':
          $ref: '#/components/responses/RollbackVnfLcmOpOcc.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/RollbackVnfLcmOpOcc.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/RollbackVnfLcmOpOcc.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_lcm_op_occs/{vnfLcmOpOccId}/fail':
    parameters:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
    post:
      description: >
        The POST method marks a VNF lifecycle management operation occurrence as
        "finally failed" if that operation

        occurrence is in "FAILED_TEMP" state. See clause 5.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          $ref: '#/components/responses/FailVnfLcmOpOcc.Post.200'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/FailVnfLcmOpOcc.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/FailVnfLcmOpOcc.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_lcm_op_occs/{vnfLcmOpOccId}/cancel':
    parameters:
      - $ref: '#/components/parameters/VnfLcmOpOccId'
    post:
      description: >
        The POST method initiates cancelling an ongoing VNF lifecycle operation
        while it is being executed or rolled

        back, i.e. the related "Individual VNF LCM operation occurrence"
        resource is either in "STARTING" or

        "PROCESSING" or "ROLLING_BACK" state. See clause 5.4.17.3.1.
      parameters:
        - name: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      responses:
        '202':
          $ref: '#/components/responses/CancelVnfLcmOpOcc.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/CancelVnfLcmOpOcc.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/CancelVnfLcmOpOcc.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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: Accept
        description: >
          Content-Types that are acceptable for the response. Reference: IETF
          RFC 7231.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
    post:
      description: |
        The POST method creates a new subscription. See clause 5.4.18.3.1.
      requestBody:
        $ref: '#/components/requestBodies/LccnSubscriptionRequest'
      responses:
        '201':
          $ref: '#/components/responses/Subscriptions.Post.201'
        '303':
          $ref: '#/components/responses/Subscriptions.Post.303'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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: >
            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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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: >
            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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/Subscriptions.Post.422'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
    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 5.4.18.3.2.
      parameters:
        - $ref: '#/components/parameters/filter_subscriptions'
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be
            supported by the VNFM if the VNFM supports alternative 2 (paging)
            according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [8] for this
            resource.
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          $ref: '#/components/responses/Subscriptions.Get.200'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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:
      - $ref: '#/components/parameters/SubscriptionId'
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
    get:
      description: >
        The GET method retrieves information about a subscription by reading an
        "Individual subscription" resource.

        See clause 5.4.19.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':
          $ref: '#/components/responses/IndividualSubscription.Get.200'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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
        5.4.19.3.5.
      responses:
        '204':
          $ref: '#/components/responses/IndividualSubscription.Delete.204'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/create_snapshot':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: >
        The POST method requests taking a snapshot a VNF instance and populating
        a previously created VNF snapshot

        resource (refer to clause 5.4.23.3.1) with the snapshot content. See
        clause 5.4.21.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/CreateVnfSnapshotRequest'
      responses:
        '202':
          $ref: '#/components/responses/CreateVnfSnapshotTask.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/CreateVnfSnapshotTask.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/CreateVnfSnapshotTask.Post.409'
        '422':
          $ref: '#/components/responses/CreateVnfSnapshotTask.Post.422'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_instances/{vnfInstanceId}/revert_to_snapshot':
    parameters:
      - $ref: '#/components/parameters/VnfInstanceId'
    post:
      description: >
        The POST method requests reverting a VNF instance to a VNF snapshot. See
        clause 5.4.22.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: Authorization
          description: |
            The authorization token for the request. Reference: IETF RFC 7235.
          in: header
          required: false
          schema:
            type: string
        - name: Version
          description: |
            Version of the API requested to use when responding to this request.
          in: header
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/RevertToVnfSnapshotRequest'
      responses:
        '202':
          $ref: '#/components/responses/RevertToVnfSnapshotTask.Post.202'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/RevertToVnfSnapshotTask.Post.404'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/RevertToVnfSnapshotTask.Post.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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: Accept
        description: >
          Content-Types that are acceptable for the response. Reference: IETF
          RFC 7231.
        in: header
        required: true
        schema:
          type: string
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
    post:
      description: >
        The POST method creates a new "Individual VNF snapshot" resource. See
        clause 5.4.23.3.1.
      requestBody:
        $ref: '#/components/requestBodies/CreateVnfSnapshotInfoRequest'
      responses:
        '201':
          $ref: '#/components/responses/VnfSnapshots.Post.201'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  instance:
                    description: >
                      A URI reference that identifies the specific occurrence of
                      the problem. It may yield further information if
                      dereferenced.
                    type: string
                    format: URI
    get:
      description: >
        The GET method queries information about multiple VNF snapshots. This
        method shall follow the provisions specified in the tables 5.4.23.3.2-1 
        and 5.4.23.3.2-2 for URI query parameters, request and response data
        structures,  and response codes.
      parameters:
        - $ref: '#/components/parameters/filter_vnf_snapshots'
        - name: all_fields
          description: >
            Include all complex attributes in the response. See clause 5.3 of
            ETSI GS NFV-SOL 013 [8] for details. The VNFM 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 [8] for details. The VNFM 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 [8] for details. The VNFM should support this
            parameter.
          in: query
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/exclude_default_vnf_snapshots'
        - name: nextpage_opaque_marker
          description: >
            Marker to obtain the next page of a paged response. Shall be
            supported by the VNFM if the VNFM supports alternative 2 (paging)
            according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 [8] for this
            resource.
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          $ref: '#/components/responses/VnfSnapshots.Get.200'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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:
      - $ref: '#/components/parameters/VnfSnapshotInfoId'
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
    get:
      description: >
        The GET method retrieves information about a VNF snapshot by reading an
        "Individual VNF snapshot" resource.

        See clause 5.4.24.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':
          $ref: '#/components/responses/IndividualVnfSnapshot.Get.200'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 modifies an "Individual VNF snapshot" resource. See clause
        5.4.24.3.4.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
        - name: Content-Type
          description: |
            The MIME type of the body of the request. Reference: IETF RFC 7231
          in: header
          required: true
          schema:
            type: string
        - name: If-Unmodified-Since
          description: >
            Used to make the request method   conditional on the selected
            resource representation's last modification date being earlier than
            or equal to the date provided in the field-value. If the condition
            is not met, the request fails with a "412 Precondition Failed"
            response.
          required: false
          in: header
          schema:
            type: string
            format: date-time
        - name: If-Match
          description: >
            Used to make the request method conditional on the recipient origin
            server either having at least one current representation of the
            target resource, when the field-value is "*", or having a current
            representation of the target resource that has an entity-tag
            matching a member of the list of entity-tags provided in the
            field-value. If the condition is not met, the request fails with a
            "412 Precondition Failed" response.
          required: false
          in: header
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/VnfSnapshotInfoModificationRequest'
      responses:
        '200':
          $ref: '#/components/responses/IndividualVnfSnapshot.Patch.200'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/IndividualVnfSnapshot.Patch.409'
        '412':
          $ref: '#/components/responses/IndividualVnfSnapshot.Patch.412'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 VNFM, and any resource associated to the VNF snapshot
        managed by the VIM. See clause 5.4.24.3.5.
      responses:
        '204':
          $ref: '#/components/responses/IndividualVnfSnapshot.Delete.204'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/IndividualVnfSnapshot.Delete.409'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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}/vnf_state_snapshot':
    parameters:
      - $ref: '#/components/parameters/VnfSnapshotInfoId'
      - name: Authorization
        description: |
          The authorization token for the request. Reference: IETF RFC 7235.
        in: header
        required: false
        schema:
          type: string
      - name: Version
        description: |
          Version of the API requested to use when responding to this request.
        in: header
        required: true
        schema:
          type: string
    get:
      description: >
        The GET method fetches the content of the VNF state snapshot. 

        This method shall follow the provisions specified in the tables
        5.4.25.3.2-1 and 5.4.25.3.2-2 

        for URI query parameters, request and response data structures, and
        response codes.
      parameters:
        - name: Accept
          description: >
            Content-Types that are acceptable for the response. Reference: IETF
            RFC 7231.
          in: header
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Range'
      responses:
        '200':
          $ref: '#/components/responses/IndividualVnfSnapshotState.Get.200'
        '206':
          $ref: '#/components/responses/IndividualVnfSnapshotState.Get.206'
        '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 message
            content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 message content 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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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':
          $ref: '#/components/responses/IndividualVnfSnapshotState.Get.409'
        '416':
          $ref: '#/components/responses/IndividualVnfSnapshotState.Get.416'
        '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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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_vnf_instances:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of ETSI GS
        NFV-SOL 013 [8]. The VNFM shall support receiving this parameter as part
        of the URI query string. The NFVO may supply this parameter. All
        attribute names that appear in the VnfInstance and in data types
        referenced from it shall be supported by the VNFM in the filter
        expression.
      in: query
      required: false
      schema:
        type: string
    exclude_default_vnf_instances:
      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 [8] for details. The VNFM shall
        support this parameter. The following attributes shall be excluded from
        the VnfInstance structure in the response body if this parameter is
        provided, or none of the parameters "all_fields", "fields",
        "exclude_fields", "exclude_default" are provided:
          - vnfConfigurableProperties
          - vimConnectionInfo
          - instantiatedVnfInfo
          - metadata
          - extensions
      required: false
      schema:
        type: string
    filter_vnf_lcm_op_occs:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of ETSI GS
        NFV-SOL 013 [8]. The VNFM shall support receiving this parameter as part
        of the URI query string. The NFVO may supply this parameter. All
        attribute names that appear in the VnfLcmOpOcc and in data types
        referenced from it shall be supported by the VNFM in the filter
        expression.
      in: query
      required: false
      schema:
        type: string
    exclude_default_vnf_lcm_op_occs:
      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 [8] for details. The VNFM shall
        support this parameter. The following attributes shall be excluded from
        the VnfLcmOpOcc structure in the response body if this parameter is
        provided, or none of the parameters "all_fields," "fields",
        "exclude_fields", "exclude_default" are provided:
          - operationParams
          - error
          - resourceChanges
          - changedInfo
          - changedExtConnectivity
          - lcmCoordinations
          - modificationsTriggeredByVnfPkgChange
          - warnings
      required: false
      schema:
        type: string
    filter_subscriptions:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of ETSI GS
        NFV-SOL 013 [8]. The VNFM shall support receiving this parameter as part
        of the URI query string. The NFVO may supply this parameter. All
        attribute names that appear in the LccnSubscription and in data types
        referenced from it shall be supported by the VNFM in the filter
        expression.
      in: query
      required: false
      schema:
        type: string
    filter_vnf_snapshots:
      name: filter
      description: >
        Attribute-based filtering expression according to clause 5.2 of ETSI GS
        NFV-SOL 013 [8]. The VNFM shall support receiving this parameter as part
        of the URI query string. The NFVO may supply this parameter. All
        attribute names that appear in the VnfSnapshot and in data types
        referenced from it shall be supported by the VNFM in the filter
        expression.
      in: query
      required: false
      schema:
        type: string
    exclude_default_vnf_snapshots:
      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 [8] for details. The VNFM 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:
          - vnfInstance
          - vnfcSnapshots
      required: false
      schema:
        type: string
    VnfInstanceId:
      name: vnfInstanceId
      in: path
      description: >
        Identifier of the VNF instance for the VNF snapshot to be reverted to.
        This identifier can be retrieved from the resource 

        referenced by the "Location" HTTP header in the response to a POST
        request creating a new "Individual VNF instance" resource. 

        It can also be retrieved from the "id" attribute in the message content
        of that response.
      required: true
      style: simple
      explode: false
      schema:
        type: string
    VnfLcmOpOccId:
      name: vnfLcmOpOccId
      in: path
      description: >
        Identifier of a VNF lifecycle management operation occurrence. This
        identifier can be retrieved from the resource

        referenced by the "Location" HTTP header in the response to a PATCH or
        POST request triggering a VNF LCM operation.

        It can also be retrieved from the "vnfLcmOpOccId" attribute in the
        VnfLcmOperationOccurrenceNotification.
      required: true
      style: simple
      explode: false
      schema:
        type: string
    SubscriptionId:
      name: subscriptionId
      in: path
      description: >
        Identifier of this subscription. This identifier can be retrieved from
        the resource referenced by the "Location"

        HTTP header in the response to a POST request creating a new
        subscription resource. It can also be retrieved from

        the "id" attribute in the message content of that response.
      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 resource referenced by the "Location" HTTP header in the
        response to a POST request 

        creating a new VNF snapshot resource. It can also be retrieved from the
        "id" attribute in

        the message content of that response.        
      required: true
      style: simple
      explode: false
      schema:
        type: string
    Range:
      name: Range
      in: header
      description: |
        The request may contain a "Range" HTTP header to obtain single
        range of bytes from a VNF state snapshot file. This can be used to
        continue an aborted transmission.
        If the "Range" header is present in the request and the VNFM
        does not support responding to range requests with a 206
        response, it shall return a 200 OK response instead.
      schema:
        type: string
  requestBodies:
    CreateVnfRequest:
      description: The VNF creation parameters
      content:
        application/json:
          schema:
            description: >
              This type represents request parameters for the "Create VNF
              identifier" operation.
            type: object
            required:
              - vnfdId
            properties:
              vnfdId:
                description: |
                  An identifier with the intention of being globally unique.
                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
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    VnfInfoModificationRequest:
      description: |
        Parameters for the VNF modification, as defined in clause 5.5.2.12.
      content:
        application/json:
          schema:
            description: >
              This type represents attribute modifications for an "Individual
              VNF instance" resource, i.e. modifications to a resource
              representation based on the "VnfInstance" data type.
            type: object
            properties:
              vnfInstanceName:
                description: |
                  A string defined in IETF RFC 8259.
                type: string
              vnfInstanceDescription:
                description: |
                  A string defined in IETF RFC 8259.
                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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              vimConnectionInfo:
                description: >
                  Modifications of the "vimConnectionInfo" attribute. If
                  present, these modifications shall be applied according to the
                  rules of JSON Merge Patch (see IETF RFC 7396 [5]).
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
      required: true
    InstantiateVnfRequest:
      description: Parameters for the VNF instantiation.
      content:
        application/json:
          schema:
            description: "This type represents request parameters for the \"Instantiate VNF\" operation.\n* NOTE 1:\tThe indication of externally-managed internal VLs is needed in case \n          networks have been pre-configured for use with certain VNFs, for instance \n          to ensure that these networks have certain properties such as security or \n          acceleration features, or to address particular network topologies. \n          The present document assumes that externally-managed internal VLs are \n          managed by the NFVO and created towards the VIM.\n* NOTE 2:\tIt is possible to have several ExtManagedVirtualLinkData for the same VNF \n          internal VL in case of a multi-site VNF spanning several VIMs. The set of \n          ExtManagedVirtualLinkData corresponding to the same VNF internal VL shall \n          indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n          multi-site VL instance (refer to clause 4.4.1.12).\n* NOTE 3: The target size for VNF instantiation may be specified in either instantiationLevelId or targetScaleLevelInfo, but\n          not both. If none of the two attributes (instantiationLevelId or targetScaleLevelInfo) are present, the default\n          instantiation level as declared in the VNFD shall be used.\n* NOTE 4: If targetScaleLevelInfo is specified, information provided in targetScaleLevelInfo shall be used for instantiating\n          scalable constituents of the VNF (e.g, VDUs/VLs). For scaling aspects not specified in targetScaleLevelInfo or\n          for the VNF constituents (e.g.,VDUs/VLs) that are not scalable, the default instantiation level as declared in the\n          VNFD shall be used for instantiation.\n"
            anyOf:
              - required:
                  - instantiationLevelId
              - required:
                  - targetScaleLevelInfo
            type: object
            required:
              - flavourId
            properties:
              flavourId:
                description: |
                  An identifier that is unique within a VNF descriptor.
                type: string
              instantiationLevelId:
                description: |
                  An identifier that is unique within a VNF descriptor.
                type: string
              targetScaleLevelInfo:
                description: >
                  This attribute is applicable if VNF supports target scale
                  level instantiation. For each scaling aspect of the current
                  deployment flavour, the attribute specifies the scale level of
                  VNF constituents (e.g., VDU level) to be instantiated. See
                  notes 3 and 4.
                type: array
                items:
                  description: >
                    This type represents the scale level of a VNF instance
                    related to a scaling aspect.
                  type: object
                  required:
                    - aspectId
                    - scaleLevel
                  properties:
                    aspectId:
                      description: |
                        An identifier that is unique within a VNF descriptor.
                      type: string
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    scaleToLevel:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
              extVirtualLinks:
                description: >
                  Information about external VLs to connect the VNF to,
                  including configuration information for the CPs via which the
                  VNF instance can attach to this VL. The following applies to
                  the "ExtVirtualLinkData" information provided in this request,
                  together with the the related overriding information provided
                  in the "Grant" structure (see clause 9.5.2.3): Even if the VNF
                  is not instantiated in fully scaled-out state, the API
                  consumer shall provide enough CP configuration records to
                  allow connecting the VNF instance, fully scaled out in all
                  scaling aspects, to the external VLs.
                type: array
                items:
                  description: "This type represents an external VL.\n* NOTE 1:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases:\n          1)  For a VIP CP directly exposed as an external CP:\n              1.1)  No dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n              1.2)  A dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed\n                    (createExtLinkPort in VnfExtCpConfig set to false).\n          2)  For a VIP CP exposed as an external CP via a floating IP address:\n              2.1)  No dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC CP\n                    associated to the VIP CP is also exposed via a floating IP address.\n          3)  For a VIRTUAL CP exposed as an external CP.\n          4)  For a VNFC CP exposed as an external CP in a secondary container cluster external network or a\n              secondary container cluster internal network.\n\n* NOTE 2: An example of the network attachment definition resource when the container infrastructure service\n          management is a Kubernetes® instance is a network attachment definition (NAD).\n"
                  type: object
                  required:
                    - id
                    - resourceId
                    - extCps
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimConnectionId:
                      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 the CISM or
                        other resource provider. It is expected to be unique
                        within the VIM instance.
                      type: string
                    extCps:
                      description: >
                        External CPs of the VNF to be connected to this external
                        VL. Entries in the list of external CP data that are
                        unchanged need not be supplied if the ExtVirtualLinkData
                        structure is part of a request or response that modifies
                        the external connectivity.
                      type: array
                      items:
                        description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                        type: object
                        required:
                          - cpdId
                        properties:
                          cpdId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            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 NFVO. The
                              entries shall be applied by the VNFM according to
                              the rules of JSON Merge Patch (see IETF RFC 7396).
                              See notes 2, 3 and 4.
                            type: object
                            additionalProperties:
                              description: >
                                This type represents an externally provided link
                                port, or a network attachment definition
                                resource of secondary container cluster network,
                                or network address information per instance of
                                an external connection point. In the case of
                                VM-based deployment of the VNFC exposing the
                                external CP:
                                  1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                      external VL.
                                  2.  In case 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.
                                In the case of container-based deployment of the
                                VNFC exposing the external CP, the VNFM shall
                                use the network attachment definition resource
                                of secondary container cluster network when
                                connecting the CP to the external VL.

                                * NOTE 1: The following conditions apply to the
                                attributes "linkPortId" and "cpProtocolData" for
                                an external CP
                                          instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                          1) Void.
                                          2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                          representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                          corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                          external CP instance that is to be re-configured or added to a particular external virtual link.
                                          3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                          4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                          precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                          pre-configured address information for the connection point from the resource representing the link port.
                                          5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                          cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                * NOTE 2: The following conditions apply to the
                                attributes “netAttDefResourceId” and
                                “cpProtocolData” for an external CP
                                          instance connected or to be connected to a secondary container cluster network:
                                          1) Void.
                                          2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                          a to-be-created external CP instance or an existing external CP instance.
                                * NOTE 3: Cardinality greater than 1 is only
                                applicable for specific cases where more than
                                one network attachment
                                          definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                          redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                          to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                          "NetAttDefResourceData".
                                * NOTE 4: Either linkPortId or
                                netAttDefResourceId may be included, but not
                                both.
                              anyOf:
                                - required:
                                    - linkPortId
                                - required:
                                    - cpProtocolData
                                - required:
                                    - netAttDefResourceId
                              type: object
                              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 to the VNFM the need to create a
                                    dedicated link port for the external CP. If
                                    set to True, the VNFM shall create a link
                                    port. If set to False, the VNFM shall not
                                    create a link port. 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
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceData”
                                    structure that provides the specification of
                                    the interface to attach the external CP to a
                                    secondary container cluster network. It is
                                    only applicable if the external CP is
                                    connected or to be connected to a secondary
                                    container cluster network. It shall not be
                                    present if the external CP is related to a
                                    virtual network not categorized as secondary
                                    container cluster network. See notes 2, 3
                                    and 4.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                cpProtocolData:
                                  description: >
                                    Parameters for configuring the network
                                    protocols on the link port that connects the
                                    CP to a VL. See notes 1 and 2.
                                  type: array
                                  items:
                                    description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          Identifier of layer(s) and protocol(s).
                                          Permitted values:
                                            - IP_OVER_ETHERNET.
                                            - IP_FOR_VIRTUAL_CP
                                          See note
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                          segmentationType:
                                            description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents network address
                                          data for a virtual CP.

                                          * NOTE 1: If the container cluster is
                                          set up to be able to configure an
                                          external load balancer this address will
                                          be used,
                                                    otherwise it will be ignored by the CISM.
                                          * NOTE 2: In case the cluster can
                                          configure an external load balancer but
                                          no loadBalancerIp is provided the
                                          container
                                                    cluster will assign an IP address.
                                          * NOTE 3: The attribute is only relevant
                                          if the virtual CP is instantiated in a
                                          cluster that supports configuration of
                                          IP
                                                    address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                    Kubernetes® that supports configuration of address pools for load balancer services.
                                          * NOTE 4: The loadBalancerIp and the
                                          addressPoolName attributes shall not be
                                          present at the same
                                          time.                
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: IPV4, IPV6.
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which the
                                              container cluster will assign an IP
                                              address to the virtual CP. See notes 3
                                              and 4.
                                            type: string
                    extLinkPorts:
                      description: >
                        Externally provided link ports to be used to connect
                        external connection points to this external VL. If this
                        attribute is not present, the VNFM shall create the link
                        ports on the external VL except in the cases defined
                        below. See note 1.
                      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:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          trunkResourceId:
                            description: >
                              An identifier maintained by the VIM  or the CISM
                              or other resource provider. It is expected to be
                              unique within the VIM instance.
                            type: string
                    extNetAttDefResourceData:
                      description: >
                        Externally provided network attachment definition
                        resource(s) that provide the specification of the
                        interface to attach external CPs to this external VL.
                        See note 2. It is only applicable if the external VL is
                        realized by a secondary container cluster network. It
                        shall not be present otherwise.
                      type: array
                      items:
                        description: >
                          This type represents a network attachment definition
                          resource that provides the specification of the
                          interface to be used to connect one or multiple
                          connection points to a secondary container cluster
                          network realizing a VL.
                        type: object
                        required:
                          - netAttDefResourceId
                          - resourceHandle
                        properties:
                          netAttDefResourceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
              extManagedVirtualLinks:
                description: >
                  Information about internal VLs that are managed by the NFVO.
                  See note 1 and note 2.
                type: array
                items:
                  description: >
                    This type represents an externally-managed internal VL.

                    * NOTE 1: It is only applicable if the externally-managed VL
                    is realized by a secondary container cluster network. It
                    shall
                              not be present otherwise.
                    * NOTE 2: A link port is not needed for a VNFC internal
                    connection point connected to a secondary container cluster
                              network.
                    * NOTE 3: An example of the network attachment definition
                    resource when the container infrastructure service
                              management is a Kubernetes® instance is a network attachment definition (NAD).
                  type: object
                  required:
                    - id
                    - vnfVirtualLinkDescId
                    - resourceId
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfVirtualLinkDescId:
                      description: |
                        An identifier that is unique within a VNF descriptor.
                      type: string
                    vimConnectionId:
                      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 the CISM or
                        other resource provider. It is expected to be unique
                        within the VIM instance.
                      type: string
                    netAttDefResourceData:
                      description: >
                        Externally provided network attachment definition
                        resource(s) that provide the specification of the
                        interface to attach VNFC connection points to this
                        externallymanaged VL. See notes 1 and 3.
                      type: array
                      items:
                        description: >
                          This type represents a network attachment definition
                          resource that provides the specification of the
                          interface to be used to connect one or multiple
                          connection points to a secondary container cluster
                          network realizing a VL.
                        type: object
                        required:
                          - netAttDefResourceId
                          - resourceHandle
                        properties:
                          netAttDefResourceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                    intCp:
                      description: >
                        Internal CPs of the VNF to be connected to this
                        externally-managed VL. See note 1.
                      type: array
                      items:
                        description: >
                          This type represents input information related to one
                          or more VNF internal CP instances created based on the
                          same CPD.

                          NOTE: Cardinality greater than 1 is only applicable
                          for specific cases where more than one network
                          attachment
                                definition resource is needed to fulfil the connectivity requirements of the VNF internal CP, e.g. to build a link
                                redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall
                                belong to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" attribute
                                in the "NetAttDefResourceData".
                        type: object
                        required:
                          - cpdId
                          - netAttDefResourceId
                        properties:
                          cpdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          netAttDefResourceId:
                            description: >
                              Identifiers of the “NetAttDefResourceData”
                              structure that provides the specification of the
                              interface to attach the VNF internal CP created
                              from the CPD identified by cpdId to a secondary
                              container cluster network. See note.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              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. See note 2.
                      type: array
                      items:
                        description: >
                          This type represents an externally provided link port
                          to be used to connect a VNFC connection point  to an
                          exernally managed VL.
                        type: object
                        required:
                          - vnfLinkPortId
                          - resourceHandle
                        properties:
                          vnfLinkPortId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                    extManagedMultisiteVirtualLinkId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
              vimConnectionInfo:
                description: >
                  Information about VIM or CISM connections to be used for
                  managing the resources for the VNF instance, or refer to
                  external/externally-managed virtual links. This attribute
                  shall only be supported and may be present if - the resources
                  for at least one of the VNFCs shall be managed by a VIM and
                  VNF-related resource management in direct mode is applicable.
                  - the resources for at least one of the VNFCs shall be managed
                  by a CISM. The VNFM shall apply the content of this attribute
                  to the "vimConnectionInfo" attribute of "VnfInstance"
                  according to the rules of JSON Merge Patch (see IETF RFC 7396
                  [5]).
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
              localizationLanguage:
                description: |
                  A string defined in IETF RFC 8259.
                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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    ScaleVnfRequest:
      description: Parameters for the scale VNF operation.
      content:
        application/json:
          schema:
            description: >
              This type represents request parameters for the "Scale VNF"
              operation.
            type: object
            required:
              - type
              - aspectId
            properties:
              type:
                description: >
                  Indicates the type of the scale operation requested. Permitted
                  values: * SCALE_OUT: adding additional VNFC instances to the
                  VNF to increase
                    capacity
                  * SCALE_IN: removing VNFC instances from the VNF in order to
                  release
                    unused capacity.
                type: string
                enum:
                  - SCALE_OUT
                  - SCALE_IN
              aspectId:
                description: |
                  An identifier that is unique within a VNF descriptor.
                type: string
              numberOfSteps:
                description: >
                  Number of scaling steps to be executed as part of this Scale
                  VNF operation. It shall be a positive number and the default
                  value shall be 1.
                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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    ScaleVnfToLevelRequest:
      description: Parameters for the scale VNF to Level operation.
      content:
        application/json:
          schema:
            description: "This type represents request parameters for the \"Scale VNF to Level\" operation.\nNOTE:\tEither the instantiationLevelId attribute or the scaleInfo attribute shall \n      be included.\n"
            type: object
            anyOf:
              - oneOf:
                  - required:
                      - instantiationLevelId
                  - required:
                      - scaleInfo
            properties:
              instantiationLevelId:
                description: |
                  An identifier that is unique within a VNF descriptor.
                type: string
              scaleInfo:
                description: >
                  For each scaling aspect of the current deployment flavour,
                  indicates the target scale level to which the VNF is to be
                  scaled. See note.
                type: array
                items:
                  description: >
                    This type represents the scale level of a VNF instance
                    related to a scaling aspect.
                  type: object
                  required:
                    - aspectId
                    - scaleLevel
                  properties:
                    aspectId:
                      description: |
                        An identifier that is unique within a VNF descriptor.
                      type: string
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    scaleToLevel:
                      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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    ChangeVnfFlavourRequest:
      description: Parameters for the Change VNF Flavour operation.
      content:
        application/json:
          schema:
            description: "This type represents request parameters for the \"Change VNF flavour\" operation.\n* NOTE 1:\tThe indication of externally-managed internal VLs is needed in case networks \n          have been pre-configured for use with certain VNFs, for instance to ensure \n          that these networks have certain properties such as security or acceleration \n          features, or to address particular network topologies. The present document \n          assumes that externally-managed internal VLs are managed by the NFVO and created \n          towards the VIM.\n* NOTE 2:\tIt is possible to have several ExtManagedVirtualLinkData for the same VNF internal \n          VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData \n          corresponding to the same VNF internal VL shall indicate so by referencing to the same \n          VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12).\n* NOTE 3: The target size for VNF instantiation may be specified in either instantiationLevelId or targetScaleLevelInfo, but\n          not both. If none of the two attributes (instantiationLevelId or targetScaleLevelInfo) are present, the default\n          instantiation level as declared in the VNFD shall be used.\n* NOTE 4: If targetScaleLevelInfo is specified, information provided in targetScaleLevelInfo shall be used for instantiating\n          scalable constituents of the VNF (e.g, VDUs/VLs). For scaling aspects not specified in targetScaleLevelInfo or\n          for the VNF constituents (e.g.,VDUs/VLs) that are not scalable, the default instantiation level as declared in the\n          VNFD shall be used for instantiation.\n"
            type: object
            required:
              - newFlavourId
            properties:
              newFlavourId:
                description: |
                  An identifier that is unique within a VNF descriptor.
                type: string
              instantiationLevelId:
                description: |
                  An identifier that is unique within a VNF descriptor.
                type: string
              targetScaleLevelInfo:
                description: >
                  This attribute is applicable if VNF supports target scale
                  level instantiation. For each scaling aspect of the current
                  deployment flavour, the attribute specifies the scale level of
                  VNF constituents (e.g., VDU level) to be instantiated. See
                  notes 3 and 4.
                type: array
                items:
                  description: >
                    This type represents the scale level of a VNF instance
                    related to a scaling aspect.
                  type: object
                  required:
                    - aspectId
                    - scaleLevel
                  properties:
                    aspectId:
                      description: |
                        An identifier that is unique within a VNF descriptor.
                      type: string
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    scaleToLevel:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
              extVirtualLinks:
                description: >
                  Information about external VLs to connect the VNF to,
                  including configuration information  for the CPs via which the
                  VNF instance can attach to this VL. Entries in the list of
                  external VLs that are unchanged need not be supplied as part
                  of this request. The following applies to the
                  "ExtVirtualLinkData" information provided in this  request,
                  together with the related "ExtVirtualLinkInfo" information
                  known to the  VNFM represented in the "VnfInstance" structure
                  (see clause 5.5.2.2) and the related overriding information
                  provided in the "Grant" structure (see clause 9.5.2.3): Even
                  if the VNF  is not in fully scaled-out state after changing
                  the flavour, the API consumer shall provide  enough CP
                  configuration records to allow connecting the VNF instance,
                  fully scaled out in all scaling  aspects, to the external VLs.
                type: array
                items:
                  description: "This type represents an external VL.\n* NOTE 1:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases:\n          1)  For a VIP CP directly exposed as an external CP:\n              1.1)  No dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n              1.2)  A dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed\n                    (createExtLinkPort in VnfExtCpConfig set to false).\n          2)  For a VIP CP exposed as an external CP via a floating IP address:\n              2.1)  No dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC CP\n                    associated to the VIP CP is also exposed via a floating IP address.\n          3)  For a VIRTUAL CP exposed as an external CP.\n          4)  For a VNFC CP exposed as an external CP in a secondary container cluster external network or a\n              secondary container cluster internal network.\n\n* NOTE 2: An example of the network attachment definition resource when the container infrastructure service\n          management is a Kubernetes® instance is a network attachment definition (NAD).\n"
                  type: object
                  required:
                    - id
                    - resourceId
                    - extCps
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimConnectionId:
                      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 the CISM or
                        other resource provider. It is expected to be unique
                        within the VIM instance.
                      type: string
                    extCps:
                      description: >
                        External CPs of the VNF to be connected to this external
                        VL. Entries in the list of external CP data that are
                        unchanged need not be supplied if the ExtVirtualLinkData
                        structure is part of a request or response that modifies
                        the external connectivity.
                      type: array
                      items:
                        description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                        type: object
                        required:
                          - cpdId
                        properties:
                          cpdId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            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 NFVO. The
                              entries shall be applied by the VNFM according to
                              the rules of JSON Merge Patch (see IETF RFC 7396).
                              See notes 2, 3 and 4.
                            type: object
                            additionalProperties:
                              description: >
                                This type represents an externally provided link
                                port, or a network attachment definition
                                resource of secondary container cluster network,
                                or network address information per instance of
                                an external connection point. In the case of
                                VM-based deployment of the VNFC exposing the
                                external CP:
                                  1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                      external VL.
                                  2.  In case 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.
                                In the case of container-based deployment of the
                                VNFC exposing the external CP, the VNFM shall
                                use the network attachment definition resource
                                of secondary container cluster network when
                                connecting the CP to the external VL.

                                * NOTE 1: The following conditions apply to the
                                attributes "linkPortId" and "cpProtocolData" for
                                an external CP
                                          instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                          1) Void.
                                          2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                          representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                          corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                          external CP instance that is to be re-configured or added to a particular external virtual link.
                                          3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                          4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                          precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                          pre-configured address information for the connection point from the resource representing the link port.
                                          5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                          cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                * NOTE 2: The following conditions apply to the
                                attributes “netAttDefResourceId” and
                                “cpProtocolData” for an external CP
                                          instance connected or to be connected to a secondary container cluster network:
                                          1) Void.
                                          2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                          a to-be-created external CP instance or an existing external CP instance.
                                * NOTE 3: Cardinality greater than 1 is only
                                applicable for specific cases where more than
                                one network attachment
                                          definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                          redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                          to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                          "NetAttDefResourceData".
                                * NOTE 4: Either linkPortId or
                                netAttDefResourceId may be included, but not
                                both.
                              anyOf:
                                - required:
                                    - linkPortId
                                - required:
                                    - cpProtocolData
                                - required:
                                    - netAttDefResourceId
                              type: object
                              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 to the VNFM the need to create a
                                    dedicated link port for the external CP. If
                                    set to True, the VNFM shall create a link
                                    port. If set to False, the VNFM shall not
                                    create a link port. 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
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceData”
                                    structure that provides the specification of
                                    the interface to attach the external CP to a
                                    secondary container cluster network. It is
                                    only applicable if the external CP is
                                    connected or to be connected to a secondary
                                    container cluster network. It shall not be
                                    present if the external CP is related to a
                                    virtual network not categorized as secondary
                                    container cluster network. See notes 2, 3
                                    and 4.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                cpProtocolData:
                                  description: >
                                    Parameters for configuring the network
                                    protocols on the link port that connects the
                                    CP to a VL. See notes 1 and 2.
                                  type: array
                                  items:
                                    description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          Identifier of layer(s) and protocol(s).
                                          Permitted values:
                                            - IP_OVER_ETHERNET.
                                            - IP_FOR_VIRTUAL_CP
                                          See note
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                          segmentationType:
                                            description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents network address
                                          data for a virtual CP.

                                          * NOTE 1: If the container cluster is
                                          set up to be able to configure an
                                          external load balancer this address will
                                          be used,
                                                    otherwise it will be ignored by the CISM.
                                          * NOTE 2: In case the cluster can
                                          configure an external load balancer but
                                          no loadBalancerIp is provided the
                                          container
                                                    cluster will assign an IP address.
                                          * NOTE 3: The attribute is only relevant
                                          if the virtual CP is instantiated in a
                                          cluster that supports configuration of
                                          IP
                                                    address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                    Kubernetes® that supports configuration of address pools for load balancer services.
                                          * NOTE 4: The loadBalancerIp and the
                                          addressPoolName attributes shall not be
                                          present at the same
                                          time.                
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: IPV4, IPV6.
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which the
                                              container cluster will assign an IP
                                              address to the virtual CP. See notes 3
                                              and 4.
                                            type: string
                    extLinkPorts:
                      description: >
                        Externally provided link ports to be used to connect
                        external connection points to this external VL. If this
                        attribute is not present, the VNFM shall create the link
                        ports on the external VL except in the cases defined
                        below. See note 1.
                      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:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          trunkResourceId:
                            description: >
                              An identifier maintained by the VIM  or the CISM
                              or other resource provider. It is expected to be
                              unique within the VIM instance.
                            type: string
                    extNetAttDefResourceData:
                      description: >
                        Externally provided network attachment definition
                        resource(s) that provide the specification of the
                        interface to attach external CPs to this external VL.
                        See note 2. It is only applicable if the external VL is
                        realized by a secondary container cluster network. It
                        shall not be present otherwise.
                      type: array
                      items:
                        description: >
                          This type represents a network attachment definition
                          resource that provides the specification of the
                          interface to be used to connect one or multiple
                          connection points to a secondary container cluster
                          network realizing a VL.
                        type: object
                        required:
                          - netAttDefResourceId
                          - resourceHandle
                        properties:
                          netAttDefResourceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
              extManagedVirtualLinks:
                description: >
                  Information about internal VLs that are managed by the NFVO.
                  See notes 1 and 2.
                type: array
                items:
                  description: >
                    This type represents an externally-managed internal VL.

                    * NOTE 1: It is only applicable if the externally-managed VL
                    is realized by a secondary container cluster network. It
                    shall
                              not be present otherwise.
                    * NOTE 2: A link port is not needed for a VNFC internal
                    connection point connected to a secondary container cluster
                              network.
                    * NOTE 3: An example of the network attachment definition
                    resource when the container infrastructure service
                              management is a Kubernetes® instance is a network attachment definition (NAD).
                  type: object
                  required:
                    - id
                    - vnfVirtualLinkDescId
                    - resourceId
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfVirtualLinkDescId:
                      description: |
                        An identifier that is unique within a VNF descriptor.
                      type: string
                    vimConnectionId:
                      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 the CISM or
                        other resource provider. It is expected to be unique
                        within the VIM instance.
                      type: string
                    netAttDefResourceData:
                      description: >
                        Externally provided network attachment definition
                        resource(s) that provide the specification of the
                        interface to attach VNFC connection points to this
                        externallymanaged VL. See notes 1 and 3.
                      type: array
                      items:
                        description: >
                          This type represents a network attachment definition
                          resource that provides the specification of the
                          interface to be used to connect one or multiple
                          connection points to a secondary container cluster
                          network realizing a VL.
                        type: object
                        required:
                          - netAttDefResourceId
                          - resourceHandle
                        properties:
                          netAttDefResourceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                    intCp:
                      description: >
                        Internal CPs of the VNF to be connected to this
                        externally-managed VL. See note 1.
                      type: array
                      items:
                        description: >
                          This type represents input information related to one
                          or more VNF internal CP instances created based on the
                          same CPD.

                          NOTE: Cardinality greater than 1 is only applicable
                          for specific cases where more than one network
                          attachment
                                definition resource is needed to fulfil the connectivity requirements of the VNF internal CP, e.g. to build a link
                                redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall
                                belong to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" attribute
                                in the "NetAttDefResourceData".
                        type: object
                        required:
                          - cpdId
                          - netAttDefResourceId
                        properties:
                          cpdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          netAttDefResourceId:
                            description: >
                              Identifiers of the “NetAttDefResourceData”
                              structure that provides the specification of the
                              interface to attach the VNF internal CP created
                              from the CPD identified by cpdId to a secondary
                              container cluster network. See note.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              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. See note 2.
                      type: array
                      items:
                        description: >
                          This type represents an externally provided link port
                          to be used to connect a VNFC connection point  to an
                          exernally managed VL.
                        type: object
                        required:
                          - vnfLinkPortId
                          - resourceHandle
                        properties:
                          vnfLinkPortId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                    extManagedMultisiteVirtualLinkId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
              vimConnectionInfo:
                description: >
                  Information about VIM or CISM connections to be used for
                  managing the resources for the VNF instance, or refer to
                  external/externally-managed virtual links. This attribute
                  shall only be supported and may be present if - the resources
                  for at least one of the VNFCs shall be managed by a VIM and
                  VNF-related resource management in direct mode is applicable.
                  - the resources for at least one of the VNFCs shall be managed
                  by a CISM. The VNFM shall apply the content of this attribute
                  to the "vimConnectionInfo" attribute of "VnfInstance"
                  according to the rules of JSON Merge Patch (see IETF RFC 7396
                  [5]).
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    TerminateVnfRequest:
      description: Parameters for the VNF termination.
      content:
        application/json:
          schema:
            description: "This type represents request parameters for the \"Terminate VNF\" operation.\nNOTE:\tIf the VNF is still in service, requesting forceful termination can \n      adversely impact network service.\n"
            type: object
            required:
              - terminationType
            properties:
              terminationType:
                description: >
                  Indicates whether forceful or graceful termination is
                  requested.  See note.

                  Permitted values: - FORCEFUL: The VNFM will shut down the VNF
                  and release the
                              resources immediately after accepting the request.
                  - GRACEFUL: The VNFM will first arrange to take the VNF out of
                              service after accepting the request. Once the operation 
                              of taking the VNF out of service finishes (irrespective 
                              of whether it has succeeded or failed) or once the timer 
                              value specified in the "gracefulTerminationTimeout" 
                              attribute expires, the VNFM will shut down the VNF and 
                              release the resources.
                type: string
                enum:
                  - FORCEFUL
                  - GRACEFUL
              gracefulTerminationTimeout:
                description: >
                  This 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. If not given and
                  the "terminationType" attribute is set to "GRACEFUL", it is
                  expected that the VNFM waits for the successful taking out of
                  service of the VNF, no matter how long it takes, before
                  shutting down the VNF and releasing the resources.
                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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    HealVnfRequest:
      description: Parameters for the Heal VNF operation.
      content:
        application/json:
          schema:
            type: object
            properties:
              cause:
                description: |
                  A string defined in IETF RFC 8259.
                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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    OperateVnfRequest:
      description: Parameters for the Operate VNF operation.
      content:
        application/json:
          schema:
            description: "This type represents request parameters for the \"Operate VNF\" operation.\nNOTE:\tThe \"stopType\" and \"gracefulStopTimeout\" attributes shall be absent, \n      when the \"changeStateTo\" attribute is equal to \"STARTED\". \n      The \"gracefulStopTimeout\" attribute shall be present, when the \"changeStateTo\" \n      is equal to \"STOPPED\" and the \"stopType\" attribute is equal to \"GRACEFUL\". \n      The \"gracefulStopTimeout\" attribute shall be absent, when the \"changeStateTo\" \n      attribute is equal to \"STOPPED\" and the \"stopType\" attribute is equal to \"FORCEFUL\". \n      The request shall be treated as if the \"stopType\" attribute has been set to \"FORCEFUL\", \n      when the \"changeStateTo\" attribute is equal to \"STOPPED\" and the \"stopType\" attribute \n      is absent.\n"
            required:
              - changeStateTo
            properties:
              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 instance immediately
                  after accepting 
                    the request.
                  * GRACEFUL: The VNFM instance 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 instance.
                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
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    ChangeExtVnfConnectivityRequest:
      description: |
        Parameters for the Change external VNF connectivity operation.
      content:
        application/json:
          schema:
            description: >
              This type represents request parameters for the "Change external
              VNF connectivity" operation to modify the external connectivity of
              a VNF instance.
            type: object
            required:
              - extVirtualLinks
            properties:
              extVirtualLinks:
                description: >
                  Information about external VLs to change (e.g. connect the VNF
                  to) including configuration information for the CPs via which
                  the VNF instance can attach to this VL. Entries in the list of
                  external VLs that are unchanged need not be supplied as part
                  of this request. The following applies to the
                  "ExtVirtualLinkData" information provided in this request,
                  together with the related "ExtVirtualLinkInfo"
                  informationknown to the VNFM represented in the "VnfInstance"
                  structure (see clause 5.5.2.2) and the related overriding 
                  information provided in the "Grant" structure (see clause
                  9.5.2.3): Even if the VNF is not in fully scaled-out state,
                  the API consumer shall provide enough CP  configuration
                  records to allow connecting the VNF instance, fully scaled out
                  in all scaling aspects, to the external VLs.
                type: array
                items:
                  description: "This type represents an external VL.\n* NOTE 1:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases:\n          1)  For a VIP CP directly exposed as an external CP:\n              1.1)  No dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n              1.2)  A dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed\n                    (createExtLinkPort in VnfExtCpConfig set to false).\n          2)  For a VIP CP exposed as an external CP via a floating IP address:\n              2.1)  No dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC CP\n                    associated to the VIP CP is also exposed via a floating IP address.\n          3)  For a VIRTUAL CP exposed as an external CP.\n          4)  For a VNFC CP exposed as an external CP in a secondary container cluster external network or a\n              secondary container cluster internal network.\n\n* NOTE 2: An example of the network attachment definition resource when the container infrastructure service\n          management is a Kubernetes® instance is a network attachment definition (NAD).\n"
                  type: object
                  required:
                    - id
                    - resourceId
                    - extCps
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimConnectionId:
                      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 the CISM or
                        other resource provider. It is expected to be unique
                        within the VIM instance.
                      type: string
                    extCps:
                      description: >
                        External CPs of the VNF to be connected to this external
                        VL. Entries in the list of external CP data that are
                        unchanged need not be supplied if the ExtVirtualLinkData
                        structure is part of a request or response that modifies
                        the external connectivity.
                      type: array
                      items:
                        description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                        type: object
                        required:
                          - cpdId
                        properties:
                          cpdId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            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 NFVO. The
                              entries shall be applied by the VNFM according to
                              the rules of JSON Merge Patch (see IETF RFC 7396).
                              See notes 2, 3 and 4.
                            type: object
                            additionalProperties:
                              description: >
                                This type represents an externally provided link
                                port, or a network attachment definition
                                resource of secondary container cluster network,
                                or network address information per instance of
                                an external connection point. In the case of
                                VM-based deployment of the VNFC exposing the
                                external CP:
                                  1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                      external VL.
                                  2.  In case 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.
                                In the case of container-based deployment of the
                                VNFC exposing the external CP, the VNFM shall
                                use the network attachment definition resource
                                of secondary container cluster network when
                                connecting the CP to the external VL.

                                * NOTE 1: The following conditions apply to the
                                attributes "linkPortId" and "cpProtocolData" for
                                an external CP
                                          instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                          1) Void.
                                          2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                          representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                          corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                          external CP instance that is to be re-configured or added to a particular external virtual link.
                                          3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                          4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                          precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                          pre-configured address information for the connection point from the resource representing the link port.
                                          5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                          cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                * NOTE 2: The following conditions apply to the
                                attributes “netAttDefResourceId” and
                                “cpProtocolData” for an external CP
                                          instance connected or to be connected to a secondary container cluster network:
                                          1) Void.
                                          2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                          a to-be-created external CP instance or an existing external CP instance.
                                * NOTE 3: Cardinality greater than 1 is only
                                applicable for specific cases where more than
                                one network attachment
                                          definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                          redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                          to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                          "NetAttDefResourceData".
                                * NOTE 4: Either linkPortId or
                                netAttDefResourceId may be included, but not
                                both.
                              anyOf:
                                - required:
                                    - linkPortId
                                - required:
                                    - cpProtocolData
                                - required:
                                    - netAttDefResourceId
                              type: object
                              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 to the VNFM the need to create a
                                    dedicated link port for the external CP. If
                                    set to True, the VNFM shall create a link
                                    port. If set to False, the VNFM shall not
                                    create a link port. 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
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceData”
                                    structure that provides the specification of
                                    the interface to attach the external CP to a
                                    secondary container cluster network. It is
                                    only applicable if the external CP is
                                    connected or to be connected to a secondary
                                    container cluster network. It shall not be
                                    present if the external CP is related to a
                                    virtual network not categorized as secondary
                                    container cluster network. See notes 2, 3
                                    and 4.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                cpProtocolData:
                                  description: >
                                    Parameters for configuring the network
                                    protocols on the link port that connects the
                                    CP to a VL. See notes 1 and 2.
                                  type: array
                                  items:
                                    description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          Identifier of layer(s) and protocol(s).
                                          Permitted values:
                                            - IP_OVER_ETHERNET.
                                            - IP_FOR_VIRTUAL_CP
                                          See note
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                          segmentationType:
                                            description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents network address
                                          data for a virtual CP.

                                          * NOTE 1: If the container cluster is
                                          set up to be able to configure an
                                          external load balancer this address will
                                          be used,
                                                    otherwise it will be ignored by the CISM.
                                          * NOTE 2: In case the cluster can
                                          configure an external load balancer but
                                          no loadBalancerIp is provided the
                                          container
                                                    cluster will assign an IP address.
                                          * NOTE 3: The attribute is only relevant
                                          if the virtual CP is instantiated in a
                                          cluster that supports configuration of
                                          IP
                                                    address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                    Kubernetes® that supports configuration of address pools for load balancer services.
                                          * NOTE 4: The loadBalancerIp and the
                                          addressPoolName attributes shall not be
                                          present at the same
                                          time.                
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: IPV4, IPV6.
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which the
                                              container cluster will assign an IP
                                              address to the virtual CP. See notes 3
                                              and 4.
                                            type: string
                    extLinkPorts:
                      description: >
                        Externally provided link ports to be used to connect
                        external connection points to this external VL. If this
                        attribute is not present, the VNFM shall create the link
                        ports on the external VL except in the cases defined
                        below. See note 1.
                      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:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          trunkResourceId:
                            description: >
                              An identifier maintained by the VIM  or the CISM
                              or other resource provider. It is expected to be
                              unique within the VIM instance.
                            type: string
                    extNetAttDefResourceData:
                      description: >
                        Externally provided network attachment definition
                        resource(s) that provide the specification of the
                        interface to attach external CPs to this external VL.
                        See note 2. It is only applicable if the external VL is
                        realized by a secondary container cluster network. It
                        shall not be present otherwise.
                      type: array
                      items:
                        description: >
                          This type represents a network attachment definition
                          resource that provides the specification of the
                          interface to be used to connect one or multiple
                          connection points to a secondary container cluster
                          network realizing a VL.
                        type: object
                        required:
                          - netAttDefResourceId
                          - resourceHandle
                        properties:
                          netAttDefResourceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
              vimConnectionInfo:
                description: >
                  Information about VIM or CISM connections to be used for
                  managing the resources for the VNF instance, or refer to
                  external virtual links. This attribute shall only be supported
                  and may be present if
                    - the resources for at least one of the VNFCs
                      shall be managed by a VIM and VNF-related
                      resource management in direct mode is
                      applicable.
                    - the resources for at least one of the VNFCs
                      shall be managed by a CISM.
                  The VNFM shall apply the content of this attribute to the
                  "vimConnectionInfo" attribute of "VnfInstance" according to
                  the rules of JSON Merge Patch (see IETF RFC 7396 [5]).
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    ChangeCurrentVnfPkgRequest:
      description: >
        Parameters for the Change current VNF package operation, as defined in
        clause 5.5.2.11a.
      content:
        application/json:
          schema:
            description: "This type represents request parameters for the \"Change current VNF package\"  operation to replace the VNF package on which a VNF instance is based.\nNOTE 1:\tThe indication of externally-managed internal VLs is needed in case networks \n        have been pre-configured for use with certain VNFs, for instance to ensure \n        that these networks have certain properties such as security or acceleration \n        features, or to address particular network topologies. The present document \n        assumes that externally-managed internal VLs are managed by the NFVO and created \n        towards the VIM.\nNOTE 2:\tIt is possible to have several ExtManagedVirtualLinkData for the same VNF internal \n        VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkData \n        corresponding to the same VNF internal VL shall indicate so by referencing to the same \n        VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 4.4.1.12).\n"
            type: object
            required:
              - vnfdId
            properties:
              vnfdId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              extVirtualLinks:
                description: >
                  Information about external VLs to connect the VNF to,
                  including configuration information for  the CPs via which the
                  VNF instance can attach to this VL. Entries in the list that
                  are unchanged need not be supplied as part of this request.
                  The following applies to the "ExtVirtualLinkData" information
                  provided in this request, together with the related
                  "ExtVirtualLinkInfo" information known to the VNFM represented
                  in the "VnfInstance" structure (see clause 5.5.2.2) and the
                  related overriding information provided in the "Grant"
                  structure (see clause 9.5.2.3): Even if the VNF is not in
                  fully scaled-out state after the change of the VNF package,
                  the API consumer shall provide enough CP configuration records
                  to allow connecting the VNF instance, fully scaled  out in all
                  scaling aspects, to the external VLs.
                type: array
                items:
                  description: "This type represents an external VL.\n* NOTE 1:\tA link port is not needed for an external CP instance that exposes a VIP CP in the following cases:\n          1)  For a VIP CP directly exposed as an external CP:\n              1.1)  No dedicated IP address is allocated as VIP address, as indicated in the VNFD.\n              1.2)  A dedicated IP address is allocated as VIP address, but the NFVO indicates that no port is needed\n                    (createExtLinkPort in VnfExtCpConfig set to false).\n          2)  For a VIP CP exposed as an external CP via a floating IP address:\n              2.1)  No dedicated IP address is allocated as VIP address, as indicated in the VNFD, and the VNFC CP\n                    associated to the VIP CP is also exposed via a floating IP address.\n          3)  For a VIRTUAL CP exposed as an external CP.\n          4)  For a VNFC CP exposed as an external CP in a secondary container cluster external network or a\n              secondary container cluster internal network.\n\n* NOTE 2: An example of the network attachment definition resource when the container infrastructure service\n          management is a Kubernetes® instance is a network attachment definition (NAD).\n"
                  type: object
                  required:
                    - id
                    - resourceId
                    - extCps
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimConnectionId:
                      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 the CISM or
                        other resource provider. It is expected to be unique
                        within the VIM instance.
                      type: string
                    extCps:
                      description: >
                        External CPs of the VNF to be connected to this external
                        VL. Entries in the list of external CP data that are
                        unchanged need not be supplied if the ExtVirtualLinkData
                        structure is part of a request or response that modifies
                        the external connectivity.
                      type: array
                      items:
                        description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                        type: object
                        required:
                          - cpdId
                        properties:
                          cpdId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            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 NFVO. The
                              entries shall be applied by the VNFM according to
                              the rules of JSON Merge Patch (see IETF RFC 7396).
                              See notes 2, 3 and 4.
                            type: object
                            additionalProperties:
                              description: >
                                This type represents an externally provided link
                                port, or a network attachment definition
                                resource of secondary container cluster network,
                                or network address information per instance of
                                an external connection point. In the case of
                                VM-based deployment of the VNFC exposing the
                                external CP:
                                  1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                      external VL.
                                  2.  In case 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.
                                In the case of container-based deployment of the
                                VNFC exposing the external CP, the VNFM shall
                                use the network attachment definition resource
                                of secondary container cluster network when
                                connecting the CP to the external VL.

                                * NOTE 1: The following conditions apply to the
                                attributes "linkPortId" and "cpProtocolData" for
                                an external CP
                                          instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                          1) Void.
                                          2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                          representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                          corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                          external CP instance that is to be re-configured or added to a particular external virtual link.
                                          3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                          4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                          precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                          pre-configured address information for the connection point from the resource representing the link port.
                                          5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                          cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                * NOTE 2: The following conditions apply to the
                                attributes “netAttDefResourceId” and
                                “cpProtocolData” for an external CP
                                          instance connected or to be connected to a secondary container cluster network:
                                          1) Void.
                                          2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                          a to-be-created external CP instance or an existing external CP instance.
                                * NOTE 3: Cardinality greater than 1 is only
                                applicable for specific cases where more than
                                one network attachment
                                          definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                          redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                          to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                          "NetAttDefResourceData".
                                * NOTE 4: Either linkPortId or
                                netAttDefResourceId may be included, but not
                                both.
                              anyOf:
                                - required:
                                    - linkPortId
                                - required:
                                    - cpProtocolData
                                - required:
                                    - netAttDefResourceId
                              type: object
                              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 to the VNFM the need to create a
                                    dedicated link port for the external CP. If
                                    set to True, the VNFM shall create a link
                                    port. If set to False, the VNFM shall not
                                    create a link port. 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
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceData”
                                    structure that provides the specification of
                                    the interface to attach the external CP to a
                                    secondary container cluster network. It is
                                    only applicable if the external CP is
                                    connected or to be connected to a secondary
                                    container cluster network. It shall not be
                                    present if the external CP is related to a
                                    virtual network not categorized as secondary
                                    container cluster network. See notes 2, 3
                                    and 4.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                cpProtocolData:
                                  description: >
                                    Parameters for configuring the network
                                    protocols on the link port that connects the
                                    CP to a VL. See notes 1 and 2.
                                  type: array
                                  items:
                                    description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          Identifier of layer(s) and protocol(s).
                                          Permitted values:
                                            - IP_OVER_ETHERNET.
                                            - IP_FOR_VIRTUAL_CP
                                          See note
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                          segmentationType:
                                            description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents network address
                                          data for a virtual CP.

                                          * NOTE 1: If the container cluster is
                                          set up to be able to configure an
                                          external load balancer this address will
                                          be used,
                                                    otherwise it will be ignored by the CISM.
                                          * NOTE 2: In case the cluster can
                                          configure an external load balancer but
                                          no loadBalancerIp is provided the
                                          container
                                                    cluster will assign an IP address.
                                          * NOTE 3: The attribute is only relevant
                                          if the virtual CP is instantiated in a
                                          cluster that supports configuration of
                                          IP
                                                    address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                    Kubernetes® that supports configuration of address pools for load balancer services.
                                          * NOTE 4: The loadBalancerIp and the
                                          addressPoolName attributes shall not be
                                          present at the same
                                          time.                
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: IPV4, IPV6.
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which the
                                              container cluster will assign an IP
                                              address to the virtual CP. See notes 3
                                              and 4.
                                            type: string
                    extLinkPorts:
                      description: >
                        Externally provided link ports to be used to connect
                        external connection points to this external VL. If this
                        attribute is not present, the VNFM shall create the link
                        ports on the external VL except in the cases defined
                        below. See note 1.
                      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:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          trunkResourceId:
                            description: >
                              An identifier maintained by the VIM  or the CISM
                              or other resource provider. It is expected to be
                              unique within the VIM instance.
                            type: string
                    extNetAttDefResourceData:
                      description: >
                        Externally provided network attachment definition
                        resource(s) that provide the specification of the
                        interface to attach external CPs to this external VL.
                        See note 2. It is only applicable if the external VL is
                        realized by a secondary container cluster network. It
                        shall not be present otherwise.
                      type: array
                      items:
                        description: >
                          This type represents a network attachment definition
                          resource that provides the specification of the
                          interface to be used to connect one or multiple
                          connection points to a secondary container cluster
                          network realizing a VL.
                        type: object
                        required:
                          - netAttDefResourceId
                          - resourceHandle
                        properties:
                          netAttDefResourceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
              extManagedVirtualLinks:
                description: >
                  Information about internal VLs that are managed by the NFVO.
                  See notes 1 and 2.
                type: array
                items:
                  description: >
                    This type represents an externally-managed internal VL.

                    * NOTE 1: It is only applicable if the externally-managed VL
                    is realized by a secondary container cluster network. It
                    shall
                              not be present otherwise.
                    * NOTE 2: A link port is not needed for a VNFC internal
                    connection point connected to a secondary container cluster
                              network.
                    * NOTE 3: An example of the network attachment definition
                    resource when the container infrastructure service
                              management is a Kubernetes® instance is a network attachment definition (NAD).
                  type: object
                  required:
                    - id
                    - vnfVirtualLinkDescId
                    - resourceId
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfVirtualLinkDescId:
                      description: |
                        An identifier that is unique within a VNF descriptor.
                      type: string
                    vimConnectionId:
                      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 the CISM or
                        other resource provider. It is expected to be unique
                        within the VIM instance.
                      type: string
                    netAttDefResourceData:
                      description: >
                        Externally provided network attachment definition
                        resource(s) that provide the specification of the
                        interface to attach VNFC connection points to this
                        externallymanaged VL. See notes 1 and 3.
                      type: array
                      items:
                        description: >
                          This type represents a network attachment definition
                          resource that provides the specification of the
                          interface to be used to connect one or multiple
                          connection points to a secondary container cluster
                          network realizing a VL.
                        type: object
                        required:
                          - netAttDefResourceId
                          - resourceHandle
                        properties:
                          netAttDefResourceId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                    intCp:
                      description: >
                        Internal CPs of the VNF to be connected to this
                        externally-managed VL. See note 1.
                      type: array
                      items:
                        description: >
                          This type represents input information related to one
                          or more VNF internal CP instances created based on the
                          same CPD.

                          NOTE: Cardinality greater than 1 is only applicable
                          for specific cases where more than one network
                          attachment
                                definition resource is needed to fulfil the connectivity requirements of the VNF internal CP, e.g. to build a link
                                redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall
                                belong to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" attribute
                                in the "NetAttDefResourceData".
                        type: object
                        required:
                          - cpdId
                          - netAttDefResourceId
                        properties:
                          cpdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          netAttDefResourceId:
                            description: >
                              Identifiers of the “NetAttDefResourceData”
                              structure that provides the specification of the
                              interface to attach the VNF internal CP created
                              from the CPD identified by cpdId to a secondary
                              container cluster network. See note.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              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. See note 2.
                      type: array
                      items:
                        description: >
                          This type represents an externally provided link port
                          to be used to connect a VNFC connection point  to an
                          exernally managed VL.
                        type: object
                        required:
                          - vnfLinkPortId
                          - resourceHandle
                        properties:
                          vnfLinkPortId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                    extManagedMultisiteVirtualLinkId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
              vimConnectionInfo:
                description: >
                  Information about VIM or CISM connections to be used for
                  managing the resources for the VNF instance, or refer to
                  external virtual links. This attribute shall only be supported
                  and may be present if
                    - the resources for at least one of the VNFCs shall be managed by a VIM and
                    VNF-related resource management in direct mode is applicable.
                    - the resources for at least one of the VNFCs shall be managed by a CISM.
                    The VNFM shall apply the content of this attribute to the "vimConnectionInfo" attribute of
                  "VnfInstance" according to the rules of JSON Merge Patch (see
                  IETF RFC 7396 [5]).
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    LccnSubscriptionRequest:
      description: |
        Details of the subscription to be created.
      content:
        application/json:
          schema:
            description: >
              This type represents a subscription request related to
              notifications about VNF lifecycle changes.
            type: object
            required:
              - callbackUri
            properties:
              filter:
                description: "This type represents a subscription filter related to notifications about VNF lifecycle changes.\nAt 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 \n      the notification types to facilitate automated code generation systems.\n"
                type: object
                properties:
                  vnfInstanceSubscriptionFilter:
                    description: "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n          that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n          but one alternative should be chosen.\n  NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n          instances in a filter. They should not be used both in the same filter instance, but one alternative\n          should be chosen.\n"
                    type: object
                    anyOf:
                      - oneOf:
                          - required:
                              - vnfdId
                          - required:
                              - vnfProductsFromProviders
                      - oneOf:
                          - required:
                              - vnfInstanceIds
                          - required:
                              - vnfInstanceNames
                    properties:
                      vnfdIds:
                        description: >
                          If present, match 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
                      vnfProductsFromProviders:
                        description: >
                          If present, match VNF instances that belong to VNF
                          products from certain providers. See note 1.
                        type: array
                        items:
                          type: object
                          required:
                            - vnfProvider
                          properties:
                            vnfProvider:
                              description: |
                                Name of the VNF provider to match.
                              type: string
                            vnfProducts:
                              description: >
                                If present, match VNF instances that belong to
                                VNF products with certain product names, from
                                one particular provider.
                              type: array
                              items:
                                type: object
                                required:
                                  - vnfProductName
                                properties:
                                  vnfProductName:
                                    description: |
                                      Name of the VNF product to match.
                                    type: string
                                  versions:
                                    description: >
                                      If present, match VNF instances that
                                      belong to VNF products with certain
                                      versions and a certain product name, from
                                      one particular provider.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - vnfSoftwareVersion
                                      properties:
                                        vnfSoftwareVersion:
                                          description: |
                                            A version.
                                          type: string
                                        vnfdVersions:
                                          description: >
                                            If present, match VNF instances that
                                            belong to VNF products with certain VNFD
                                            versions, a certain software version and
                                            a certain product name, from one
                                            particular provider.
                                          type: array
                                          items:
                                            description: |
                                              A version.
                                            type: string
                      vnfInstanceIds:
                        description: >
                          If present, match VNF 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
                      vnfInstanceNames:
                        description: >
                          If present, match VNF instances with a VNF Instance
                          Name listed in this attribute. See note 2.
                        type: array
                        items:
                          type: string
                  notificationTypes:
                    description: "Match particular notification types. \nPermitted values: -\tVnfLcmOperationOccurrenceNotification -\tVnfIdentifierCreationNotification -\tVnfIdentifierDeletionNotification See note.\n"
                    type: array
                    items:
                      type: string
                      enum:
                        - VnfLcmOperationOccurrenceNotification
                        - VnfIdentifierCreationNotification
                        - VnfIdentifierDeletionNotification
                  operationTypes:
                    description: >
                      Match particular VNF lifecycle operation types for the
                      notification of type
                      VnfLcmOperationOccurrenceNotification. May be present if
                      the "notificationTypes" attribute contains the value
                      "VnfLcmOperationOccurrenceNotification", and shall be
                      absent otherwise.
                    type: array
                    items:
                      description: >
                        The enumeration LcmOpType defines the permitted values
                        to represent  VNF lifecycle operation types in VNF
                        lifecycle management operation  occurrence resources and
                        VNF lifecycle management operation occurrence 
                        notifications.

                        Value | Description ------|------------ INSTANTIATE |
                        Represents the "Instantiate VNF" LCM operation.    SCALE
                        | Represents the "Scale VNF" LCM operation.
                        SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM
                        operation. CHANGE_FLAVOUR | Represents the "Change VNF
                        Flavour" LCM operation. TERMINATE | Represents the
                        "Terminate VNF" LCM operation. HEAL | Represents the
                        "Heal VNF" LCM operation. OPERATE | Represents the
                        "Operate VNF" LCM operation. CHANGE_EXT_CONN |
                        Represents the "Change external VNF connectivity" LCM
                        operation. MODIFY_INFO | Represents the "Modify VNF
                        Information" LCM operation. CREATE_SNAPSHOT | Represents
                        the "Create VNF Snapshot" LCM operation.
                        REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF
                        Snapshot" LCM operation. CHANGE_VNFPKG | Represents the
                        "Change current VNF package" LCM operation.
                      type: string
                      enum:
                        - INSTANTIATE
                        - SCALE
                        - SCALE_TO_LEVEL
                        - CHANGE_FLAVOUR
                        - TERMINATE
                        - HEAL
                        - OPERATE
                        - CHANGE_EXT_CONN
                        - MODIFY_INFO
                        - CREATE_SNAPSHOT
                        - REVERT_TO_SNAPSHOT
                        - CHANGE_VNFPKG
                  operationStates:
                    description: >
                      Match particular LCM operation state values as reported in
                      notifications of type
                      VnfLcmOperationOccurrenceNotification. May be present if
                      the "notificationTypes" attribute contains the value
                      "VnfLcmOperationOccurrenceNotification", and shall be
                      absent otherwise.
                    type: array
                    items:
                      description: >
                        STARTING: The LCM operation is starting. PROCESSING: The
                        LCM operation is currently in execution. COMPLETED: The
                        LCM operation has been completed successfully.
                        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 won't succeed. ROLLING_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 VNF prior to the
                        original operation invocation has been restored as
                        closely as possible.
                      type: string
                      enum:
                        - STARTING
                        - PROCESSING
                        - COMPLETED
                        - FAILED_TEMP
                        - FAILED
                        - ROLLING_BACK
                        - ROLLED_BACK
              callbackUri:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
              authentication:
                description: >
                  * NOTE: 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: 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. See note.
                        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.
                          See note.
                        type: string
                      tokenEndpoint:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
              verbosity:
                description: >
                  The enumeration LcmOpOccNotificationVerbosityType provides
                  values to control the verbosity of LCM operation occurrence
                  notifications. * 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
    CreateVnfSnapshotRequest:
      description: >
        Parameters for the "Create VNF Snapshot" operation, as defined in clause
        5.5.2.21.
      content:
        application/json:
          schema:
            description: >
              This type represents request parameters for the "Create VNF
              Snapshot"  LCM operation which takes a snapshot of a VNF instance
              and populates  a previously-created "Individual VNF snapshot"
              resource with the content  of the snapshot.
            type: object
            required:
              - vnfSnapshotResId
            properties:
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    RevertToVnfSnapshotRequest:
      description: >
        Parameters for the Revert to VNF snapshot operation, as defined in
        clause 5.5.2.26.
      content:
        application/json:
          schema:
            description: >
              This type represents request parameters for the "Revert to VNF
              Snapshot" operation.
            type: object
            required:
              - vnfSnapshotInfoId
            properties:
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
      required: true
    CreateVnfSnapshotInfoRequest:
      description: >
        The VNF snapshot resource creation parameters, as defined in clause
        5.5.2.20.
      content:
        application/json:
          schema:
            description: "This type represents request parameters for the creation of an \"Individual VNF snapshot\" \nresource which can be populated with content obtained by invoking the \"Create VNF snapshot\" \nLCM operation or extracted from a VNF snapshot package.\n\nNOTE:\tThe present attribute shall be provided if the \"Individual VNF snapshot\" resource is \n      requested to be created as part of a VNF snapshot package extraction.\n"
            type: object
            properties:
              vnfSnapshotPkgId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfSnapshot:
                description: |
                  This type represents a VNF snapshot.
                type: object
                required:
                  - id
                  - vnfInstanceId
                  - triggeredAt
                  - vnfdId
                  - vnfInfo
                  - 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 to IETF RFC 3339.
                    type: string
                    format: date-time
                  creationFinishedAt:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according to IETF RFC 3339.
                    type: string
                    format: date-time
                  vnfdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfInstance:
                    description: "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n"
                    type: object
                    required:
                      - id
                      - vnfdId
                      - vnfProvider
                      - vnfProductName
                      - vnfSoftwareVersion
                      - vnfdVersion
                      - instantiationState
                      - _links
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfInstanceName:
                        description: >
                          Name of the VNF instance. This attribute can be
                          modified with the PATCH method.
                        type: string
                      vnfInstanceDescription:
                        description: >
                          Human-readable description of the VNF instance. This
                          attribute can be modified with the PATCH method.
                        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.
                        type: string
                      vnfdVersion:
                        description: |
                          A version.
                        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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      vimConnectionInfo:
                        description: >
                          Information about VIM or CISM connections to be used
                          for managing the resources for the VNF instance. The
                          keys of the map, each of which identifies information
                          about a particular VIM connection, are managed by the
                          NFVO and referenced from other data structures via the
                          "vimConnectionId" attribute. This attribute shall only
                          be supported and present if - the resources of at
                          least of the VNFCs are managed by a VIM and
                          VNF-related resource management in direct mode is
                          applicable. - the resources of at least of the VNFCs
                          are managed by a CISM. This attribute can be modified
                          with the PATCH method. If VIM connection information
                          is provisioned to the VNFM by means outside the scope
                          of the present document, the information in the
                          "vimConnectionInfo" attribute provides necessary
                          information for binding the VnfInstance representing
                          the "Individual VNF instance" to the applicable VIM
                          connection information used to perform resource
                          management for the VNF instance. See also the
                          definition of the "VimConnectionInfo" in clause
                          4.4.1.6.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      cirConnectionInfo:
                        description: >
                          Information about the CIR connection for managing OS
                          container images for the VNF instance. Shall be
                          present when all or part of the VNF is realized by a
                          set of OS containers and shall be absent otherwise.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      mciopRepositoryInfo:
                        description: >
                          Information about the MCIOP repository for the VNF
                          instance. Shall be present when all or part of the VNF
                          is realized by a set of OS containers and shall be
                          absent otherwise. See note 1.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      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: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfState:
                            description: >
                              STARTED: The VNF instance is up and running.
                              STOPPED: The VNF instance has been shut down.
                            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. This
                              attribute shall be present if the VNF supports
                              scaling. See clause B.2 for an explanation of VNF
                              scaling.
                            type: array
                            items:
                              description: >
                                This type represents the scale level of a VNF
                                instance related to a scaling aspect.
                              type: object
                              required:
                                - aspectId
                                - scaleLevel
                              properties:
                                aspectId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleToLevel:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          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:
                              description: >
                                This type represents the scale level of a VNF
                                instance related to a scaling aspect.
                              type: object
                              required:
                                - aspectId
                                - scaleLevel
                              properties:
                                aspectId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleToLevel:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          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.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n        \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n        attachment definition resource is needed to fulfil the connectivity requirements of the external \n        CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n"
                              type: object
                              required:
                                - id
                                - cpdId
                                - cpConfigId
                                - cpProtocolInfo
                              oneOf:
                                - required:
                                    - associatedVnfcCpId
                                - required:
                                    - associatedVipCpId
                                - 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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                cpConfigId:
                                  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
                                cpProtocolInfo:
                                  description: |
                                    Network protocol information for this CP.
                                  type: array
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                                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
                                associatedVirtualCpId:
                                  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
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceInfo”
                                    structure that provides the specification of
                                    the interface to attach the connection point
                                    to a secondary container cluster network.
                                    See notes 3 and 4.

                                    It shall be present if the external CP is
                                    associated to a VNFC realized by one or a
                                    set of OS containers and is connected to a
                                    secondary container cluster network. It
                                    shall not be present otherwise.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      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
                            minItems: 1
                            items:
                              description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n"
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            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: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          virtualCpInfo:
                            description: >
                              Virtual CPs that are part of the VNF instance.
                              Shall be present when a particular Virtual CP is
                              associated to an external CP of the VNF instance.
                              May be present otherwise.
                            type: array
                            items:
                              description: >
                                This type provides information related to a
                                virtual CP instance of a VNF.

                                NOTE: A consumer of the VNF LCM interface can
                                learn the actual VNFC instances implementing the
                                service 
                                      accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" 
                                      and filtering by corresponding "vduIds" values.
                              type: object
                              required:
                                - cpInstanceId
                                - cpdId
                                - resourceHandle
                                - vduIds
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                resourceHandle:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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 each layer
                                    protocol supported.
                                  type: array
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            type: string
                                vduIds:
                                  description: >
                                    Reference to the VDU(s) which implement the
                                    service accessible via the virtual CP
                                    instance. See note.
                                  type: array
                                  minItems: 1
                                  items:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                additionalServiceInfo:
                                  description: >
                                    Additional service identification
                                    information of the virtual CP instance.
                                  type: array
                                  items:
                                    description: >
                                      This type provides additional service
                                      information of the virtual CP instance
                                      used to expose properties of the  virtual
                                      CP to NFV-MANO.

                                      NOTE: This attribute shall only be present
                                      if additional information is needed to
                                      identify the service 
                                            termination within the VNF, such as for example a URL path information in an HTTP request required 
                                            to allow a single virtual CP IP address to be used for several HTTP based services that use the 
                                            same port number.
                                    type: object
                                    required:
                                      - portInfo
                                    properties:
                                      portInfo:
                                        description: >
                                          Service port numbers exposed by the
                                          virtual CP instance.
                                        minItems: 1
                                        type: array
                                        items:
                                          description: >
                                            This type describes the service
                                            identifying port properties exposed by
                                            the virtual CP instance.
                                          type: object
                                          required:
                                            - name
                                            - port
                                            - portConfigurable
                                          properties:
                                            name:
                                              description: >
                                                The name of the port exposed by the
                                                virtual CP instance.
                                              type: string
                                            protocol:
                                              description: >
                                                The L4 protocol for this port exposed by
                                                the virtual CP instance.

                                                Permitted values: - TCP - UDP - SCTP
                                              type: string
                                              enum:
                                                - TCP
                                                - UDP
                                                - SCTP
                                            port:
                                              description: >
                                                The L4 port number exposed by the
                                                virtual CP instance.
                                              type: integer
                                            portConfigurable:
                                              description: >
                                                The Boolean is a data type having two
                                                values (true and false).
                                              type: boolean
                                      serviceInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          extVirtualLinkInfo:
                            description: >
                              Information about the external VLs the VNF
                              instance is connected to.
                            type: array
                            items:
                              description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                              type: object
                              required:
                                - id
                                - resourceHandle
                                - currentVnfExtCpData
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                currentVnfExtCpData:
                                  description: >
                                    Allows the API consumer to read the current
                                    CP configuration information for the
                                    connection of external CPs  to the external
                                    virtual link. See note.
                                  type: array
                                  items:
                                    description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                    type: object
                                    required:
                                      - cpdId
                                    properties:
                                      cpdId:
                                        description: >
                                          An identifier that is unique within a
                                          VNF descriptor.
                                        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
                                          NFVO. The entries shall be applied by
                                          the VNFM according to the rules of JSON
                                          Merge Patch (see IETF RFC 7396). See
                                          notes 2, 3 and 4.
                                        type: object
                                        additionalProperties:
                                          description: >
                                            This type represents an externally
                                            provided link port, or a network
                                            attachment definition resource of
                                            secondary container cluster network, or
                                            network address information per instance
                                            of an external connection point. In the
                                            case of VM-based deployment of the VNFC
                                            exposing the external CP:
                                              1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                                  external VL.
                                              2.  In case 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.
                                            In the case of container-based
                                            deployment of the VNFC exposing the
                                            external CP, the VNFM shall use the
                                            network attachment definition resource
                                            of secondary container cluster network
                                            when connecting the CP to the external
                                            VL.

                                            * NOTE 1: The following conditions apply
                                            to the attributes "linkPortId" and
                                            "cpProtocolData" for an external CP
                                                      instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                                      1) Void.
                                                      2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                                      representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                                      corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                                      external CP instance that is to be re-configured or added to a particular external virtual link.
                                                      3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                                      4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                                      precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                                      pre-configured address information for the connection point from the resource representing the link port.
                                                      5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                                      cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                            * NOTE 2: The following conditions apply
                                            to the attributes “netAttDefResourceId”
                                            and “cpProtocolData” for an external CP
                                                      instance connected or to be connected to a secondary container cluster network:
                                                      1) Void.
                                                      2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                                      a to-be-created external CP instance or an existing external CP instance.
                                            * NOTE 3: Cardinality greater than 1 is
                                            only applicable for specific cases where
                                            more than one network attachment
                                                      definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                                      redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                                      to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                                      "NetAttDefResourceData".
                                            * NOTE 4: Either linkPortId or
                                            netAttDefResourceId may be included, but
                                            not both.
                                          anyOf:
                                            - required:
                                                - linkPortId
                                            - required:
                                                - cpProtocolData
                                            - required:
                                                - netAttDefResourceId
                                          type: object
                                          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 to the VNFM the need to create
                                                a dedicated link port for the external
                                                CP. If set to True, the VNFM shall
                                                create a link port. If set to False, the
                                                VNFM shall not create a link port. 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
                                            netAttDefResourceId:
                                              description: >
                                                Identifier of the
                                                “NetAttDefResourceData” structure that
                                                provides the specification of the
                                                interface to attach the external CP to a
                                                secondary container cluster network. It
                                                is only applicable if the external CP is
                                                connected or to be connected to a
                                                secondary container cluster network. It
                                                shall not be present if the external CP
                                                is related to a virtual network not
                                                categorized as secondary container
                                                cluster network. See notes 2, 3 and 4.
                                              type: array
                                              items:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                            cpProtocolData:
                                              description: >
                                                Parameters for configuring the network
                                                protocols on the link port that connects
                                                the CP to a VL. See notes 1 and 2.
                                              type: array
                                              items:
                                                description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                                type: object
                                                required:
                                                  - layerProtocol
                                                properties:
                                                  layerProtocol:
                                                    description: >
                                                      Identifier of layer(s) and protocol(s).
                                                      Permitted values:
                                                        - IP_OVER_ETHERNET.
                                                        - IP_FOR_VIRTUAL_CP
                                                      See note
                                                    type: string
                                                    enum:
                                                      - IP_OVER_ETHERNET
                                                      - IP_FOR_VIRTUAL_CP
                                                  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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                                      segmentationType:
                                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                            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. 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
                                                                the CISM or other resource provider. It
                                                                is expected to be unique within the VIM
                                                                instance.
                                                              type: string
                                                  virtualCpAddress:
                                                    description: >
                                                      This type represents network address
                                                      data for a virtual CP.

                                                      * NOTE 1: If the container cluster is
                                                      set up to be able to configure an
                                                      external load balancer this address will
                                                      be used,
                                                                otherwise it will be ignored by the CISM.
                                                      * NOTE 2: In case the cluster can
                                                      configure an external load balancer but
                                                      no loadBalancerIp is provided the
                                                      container
                                                                cluster will assign an IP address.
                                                      * NOTE 3: The attribute is only relevant
                                                      if the virtual CP is instantiated in a
                                                      cluster that supports configuration of
                                                      IP
                                                                address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                                Kubernetes® that supports configuration of address pools for load balancer services.
                                                      * NOTE 4: The loadBalancerIp and the
                                                      addressPoolName attributes shall not be
                                                      present at the same
                                                      time.                
                                                    type: object
                                                    required:
                                                      - type
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values: IPV4, IPV6.
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      loadBalancerIp:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      addressPoolName:
                                                        description: >
                                                          Name of an address pool from which the
                                                          container cluster will assign an IP
                                                          address to the virtual CP. See notes 3
                                                          and 4.
                                                        type: string
                                extNetAttDefResource:
                                  description: >
                                    Network attachment definition resources that
                                    provide the specification of the interface
                                    to attach connection points  to this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type contains information related to
                                      a network attachment definition resource
                                      that provides the  specification of the
                                      interface used to connect one or multiple
                                      connection points to a secondary
                                      container  cluster network.
                                    type: object
                                    required:
                                      - netAttDefResourceInfoId
                                      - netAttDefResource
                                    properties:
                                      netAttDefResourceInfoId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      netAttDefResource:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            type: string
                                      associatedExtCpId:
                                        description: >
                                          Identifier of the external CP associated
                                          to this network attachment definition
                                          resource. Shall be present  when the
                                          network attachment definition resource
                                          is used for external connectivity by the
                                          VNF.
                                        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
                                      associatedVnfcCpId:
                                        description: >
                                          Identifier of the VNFC CP associated to
                                          this network attachment definition
                                          resource. May be present when  the
                                          network attachment definition resource
                                          is used for internal connectivity by the
                                          VNF.
                                        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
                          extManagedVirtualLinkInfo:
                            description: >
                              Information about the externally-managed internal
                              VLs of the VNF instance. See notes 5 and 6.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - vnfVirtualLinkDescId
                                - networkResource
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfVirtualLinkDescId:
                                  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
                                networkResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                vnfLinkPorts:
                                  description: |
                                    Link ports of this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type represents a link port of an
                                      internal VL of a VNF.

                                      NOTE 1: Either 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.
                                      NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                      provides examples for configurations where
                                      both vipCpInstanceId
                                              and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                              only vipCpInstanceId is present (UC6 and UC#6-b).
                                      NOTE 3: The value of "trunkResourceId" is
                                      scoped by the value of "vimConnectionId"
                                      in the "resourceHandle"
                                              attribute.
                                    type: object
                                    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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                vnfNetAttDefResource:
                                  description: >
                                    Network attachment definition resources that
                                    provide the specification of the interface
                                    to attach connection points to this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type contains information related to
                                      a network attachment definition resource
                                      that provides the  specification of the
                                      interface used to connect one or multiple
                                      connection points to a secondary
                                      container  cluster network.
                                    type: object
                                    required:
                                      - netAttDefResourceInfoId
                                      - netAttDefResource
                                    properties:
                                      netAttDefResourceInfoId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      netAttDefResource:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            type: string
                                      associatedExtCpId:
                                        description: >
                                          Identifier of the external CP associated
                                          to this network attachment definition
                                          resource. Shall be present  when the
                                          network attachment definition resource
                                          is used for external connectivity by the
                                          VNF.
                                        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
                                      associatedVnfcCpId:
                                        description: >
                                          Identifier of the VNFC CP associated to
                                          this network attachment definition
                                          resource. May be present when  the
                                          network attachment definition resource
                                          is used for internal connectivity by the
                                          VNF.
                                        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
                                extManagedMultisiteVirtualLinkId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          monitoringParameters:
                            description: |
                              Active monitoring parameters.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - performanceMetric
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  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. Depending on the form of virtualisation container of the VNFC:\n  - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n  - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure of\n    information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n  a) For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n  b) For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n        TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n        internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n        CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n        external CP information.\nNOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\"\n        structure by an LCM operation occurrence, this does not represent a change that requires\n        including a related \"AffectedVnfc\" structure in the VNF LCM operation occurrence notifications\n        or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\nNOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n        definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build a link\n        redundant mated pair in SR-IOV cases.\nNOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\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
                                vduId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                computeResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                storageResourceIds:
                                  description: >
                                    References to the VirtualStorage resources
                                    or references to Storage MCIOs. The value
                                    refers to a VirtualStorageResourceInfo item
                                    in the VnfInstance.
                                  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
                                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: >
                                          An identifier that is unique within a
                                          VNF descriptor.
                                        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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                          type: object
                                          required:
                                            - layerProtocol
                                          properties:
                                            layerProtocol:
                                              description: >
                                                The identifier of layer(s) and
                                                protocol(s) associated to the network
                                                address information.

                                                Permitted values:
                                                  - IP_OVER_ETHERNET
                                                  - IP_FOR_VIRTUAL_CP
                                                See note.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                                - IP_FOR_VIRTUAL_CP
                                            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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                    notes 3 and 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. 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
                                                          the CISM or other resource provider. It
                                                          is expected to be unique within the VIM
                                                          instance.
                                                        type: string
                                            virtualCpAddress:
                                              description: >
                                                This type represents information about a
                                                network address that has been assigned
                                                to a virtual CP.
                                              type: object
                                              required:
                                                - type
                                              properties:
                                                type:
                                                  description: >
                                                    The type of the IP addresses. Permitted
                                                    values: - IPV4 - IPV6
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                loadBalancerIp:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                addressPoolName:
                                                  description: >
                                                    Name of an address pool from which an IP
                                                    address is assigned to the virtual CP.
                                                  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
                                      parentCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      netAttDefResourceId:
                                        description: >
                                          Identifier of the
                                          “NetAttDefResourceInfo” structure that
                                          provides the specification of the
                                          interface to attach the connection point
                                          to a secondary container cluster
                                          network. See notes 5 and 6. It shall be
                                          present if the internal CP is associated
                                          to a VNFC realized by one or a set of OS
                                          containers and is connected to a
                                          secondary container cluster network. It
                                          shall not be present otherwise.
                                        type: array
                                        items:
                                          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 keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          vnfVirtualLinkResourceInfo:
                            description: >
                              Information about the virtualised network
                              resources used by the VLs of the VNF instance. See
                              note 6.
                            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.

                                Note: If only the value or the presence of this
                                attribute is changed in the
                                "VnfVirtualLinkResourceInfo"
                                      structure by an LCM operation occurrence, this does not represent a change that requires including
                                      a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
                                      "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                              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
                                vnfVirtualLinkDescId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                networkResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  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
                                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:
                                    description: >
                                      This type represents a link port of an
                                      internal VL of a VNF.

                                      NOTE 1: Either 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.
                                      NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                      provides examples for configurations where
                                      both vipCpInstanceId
                                              and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                              only vipCpInstanceId is present (UC6 and UC#6-b).
                                      NOTE 3: The value of "trunkResourceId" is
                                      scoped by the value of "vimConnectionId"
                                      in the "resourceHandle"
                                              attribute.
                                    type: object
                                    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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          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.

                                Note: If only the value or the presence of this
                                attribute is changed in the
                                "VirtualStorageResourceInfo"
                                      structure by an LCM operation occurrence, this does not represent a change that requires
                                      including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
                                      notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                storageResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  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
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          mcioInfo:
                            description: >
                              Information on the MCIO(s) representing VNFC
                              instance(s) realized by one or a set of OS
                              containers and created from the same VDU for the
                              VNF instance.
                            type: array
                            items:
                              description: >
                                This type provides information about an MCIO
                                representing the set of VNFC instances realized
                                by one  or a set of OS containers which have
                                been created based on the same VDU. Within the
                                CISM, an MCIO controller monitors the actual
                                state of an MCIO representing the set of VNFC 
                                instances realized by one or a set of OS
                                containers and compare it to the desired state
                                as specified  in the respective declarative
                                descriptor. It triggers actions toward the CIS
                                to align the actual to  the desired state.
                                Monitoring the actual state includes monitoring
                                the number of MCIO instances available  at any
                                specific point in time. In addition, an MCIO
                                controller maintains properties and runtime
                                information  on the MCIO instances which have
                                been created based on the same VDU. The McioInfo
                                data structure provides the runtime information
                                on the MCIOs obtained from the MCIO controller.

                                NOTE: There are different types of MCIOs. The
                                set of VNFC instances based on the same VDU is
                                represented 
                                      by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type 
                                      of MCIO, e.g. a POD.

                                Runtime information of the set of OS containers
                                realizing an individual VNFC instance is not
                                part of the  McioInfo data structure; such
                                runtime information is provided in the
                                ResourceHandle data structure  referenced from
                                the VnfcResourceInfo. The McioInfo does not
                                provide runtime information of a constituent 
                                VNFC instance created based on a specific VDU.

                                NOTE 1: The type of MCIO as specified in the
                                declarative descriptor of the MCIO, and that can
                                be read from 
                                        the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the 
                                        “kind” property of the declarative descriptor.
                                NOTE 2: If the attribute additionalInfo is
                                present, it may contain runtime information on
                                the actual and 
                                        desired state of the MCIO(s).   
                                NOTE 3: When the container infrastructure
                                service is a Kubernetes® instance, the mcioId is
                                the combined 
                                        values from the kind and name fields of the Kubernetes resource object, separated by a slash. 
                                        Example: "Deployment/abcd". 
                                NOTE 4: When the container infrastructure
                                service is a Kubernetes® instance, the mcioName
                                is the name 
                                        field of the resource object.          
                              type: object
                              required:
                                - mcioId
                                - mcioName
                                - mcioNamespace
                                - vduId
                                - cismId
                                - mcioType
                                - desiredInstances
                                - availableInstances
                              properties:
                                mcioId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                mcioName:
                                  description: >
                                    Human readable name of this MCIO. See note
                                    4.
                                  type: string
                                mcioNamespace:
                                  description: |
                                    Namespace of this MCIO.
                                  type: string
                                vduId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                cismId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                mcioType:
                                  description: >
                                    The type of MCIO. Specific values, their
                                    semantics and associated MCIO types are
                                    defined in clause  5.5.4.9. Additional
                                    values are also permitted. See note 1.
                                  type: string
                                  enum:
                                    - Deployment
                                    - Statefulset
                                desiredInstances:
                                  description: |
                                    Number of desired MCIO instances.
                                  type: integer
                                availableInstances:
                                  description: |
                                    Number of available MCIO instances.
                                  type: integer
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      _links:
                        description: |
                          Links to resources related to this resource.
                        type: object
                        required:
                          - self
                        properties:
                          self:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          indicators:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          instantiate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          terminate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          scale:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          scaleToLevel:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeFlavour:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          heal:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          operate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeExtConn:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          createSnapshot:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          revertToSnapshot:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeCurrentVnfPkg:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                  vnfcSnapshots:
                    description: >
                      Information about VNFC snapshots constituting this VNF
                      snapshot.
                    type: array
                    items:
                      description: "This type represents a VNFC snapshot.\nNOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot \n        being returned from the VIM as output data in the response message of the individual resource \n        operations. This attribute shall only be present for a VNFC snapshot that has been newly created \n        by the VNFM as a result of the \"Create VNF snapshot task\".\nNOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being \n        returned from the VIM as output data in the response message of the individual resource operations. \n        This attribute shall only be present for a VNFC snapshot with an associated storage resource and that \n        has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n"
                      type: object
                      required:
                        - id
                        - vnfcInstanceId
                        - triggeredAt
                        - vnfcResourceId
                      properties:
                        id:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                        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 to IETF RFC 3339.
                          type: string
                          format: date-time
                        creationFinishedAt:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according to IETF RFC 3339.
                          type: string
                          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:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        storageSnapshotResources:
                          description: >
                            Mapping of the storage resources associated to the
                            VNFC with the storage snapshot resources.
                          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
                              storageSnapshotResource:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  vnfStateSnapshotInfo:
                    description: >
                      This type represents information about VNF-specific state
                      snapshot data.
                    type: object
                    required:
                      - checksum
                      - isEncrypted
                    properties:
                      checksum:
                        description: |
                          Cheksum description
                        type: string
                      isEncrypted:
                        description: >
                          The Boolean is a data type having two values (true and
                          false).
                        type: boolean
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  _links:
                    description: |
                      Links to resources related to this resource.
                    type: object
                    required:
                      - self
                    properties:
                      self:
                        description: >
                          This type represents a link to a resource using an
                          absolute URI.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
                      vnfStateSnapshot:
                        description: >
                          This type represents a link to a resource using an
                          absolute URI.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
      required: true
    VnfSnapshotInfoModificationRequest:
      description: >
        Parameters for the VNF snapshot information modification, as defined in
        clause 5.5.2.24.
      content:
        application/json:
          schema:
            description: >
              This type represents attribute modifications for an "Individual
              VNF snapshot" resource, i.e. modifications 

              to a resource representation based on the "VnfSnapshotInfo" data
              type. The attributes of "VnfSnapshotInfo" 

              that can be modified according to the provisions in clause
              5.5.2.22 are included in the 

              "VnfSnapshotInfoModificationRequest" data type.
            type: object
            properties:
              vnfSnapshotPkgId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfSnapshot:
                description: |
                  This type represents a VNF snapshot.
                type: object
                required:
                  - id
                  - vnfInstanceId
                  - triggeredAt
                  - vnfdId
                  - vnfInfo
                  - 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 to IETF RFC 3339.
                    type: string
                    format: date-time
                  creationFinishedAt:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according to IETF RFC 3339.
                    type: string
                    format: date-time
                  vnfdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfInstance:
                    description: "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n"
                    type: object
                    required:
                      - id
                      - vnfdId
                      - vnfProvider
                      - vnfProductName
                      - vnfSoftwareVersion
                      - vnfdVersion
                      - instantiationState
                      - _links
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfInstanceName:
                        description: >
                          Name of the VNF instance. This attribute can be
                          modified with the PATCH method.
                        type: string
                      vnfInstanceDescription:
                        description: >
                          Human-readable description of the VNF instance. This
                          attribute can be modified with the PATCH method.
                        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.
                        type: string
                      vnfdVersion:
                        description: |
                          A version.
                        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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      vimConnectionInfo:
                        description: >
                          Information about VIM or CISM connections to be used
                          for managing the resources for the VNF instance. The
                          keys of the map, each of which identifies information
                          about a particular VIM connection, are managed by the
                          NFVO and referenced from other data structures via the
                          "vimConnectionId" attribute. This attribute shall only
                          be supported and present if - the resources of at
                          least of the VNFCs are managed by a VIM and
                          VNF-related resource management in direct mode is
                          applicable. - the resources of at least of the VNFCs
                          are managed by a CISM. This attribute can be modified
                          with the PATCH method. If VIM connection information
                          is provisioned to the VNFM by means outside the scope
                          of the present document, the information in the
                          "vimConnectionInfo" attribute provides necessary
                          information for binding the VnfInstance representing
                          the "Individual VNF instance" to the applicable VIM
                          connection information used to perform resource
                          management for the VNF instance. See also the
                          definition of the "VimConnectionInfo" in clause
                          4.4.1.6.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      cirConnectionInfo:
                        description: >
                          Information about the CIR connection for managing OS
                          container images for the VNF instance. Shall be
                          present when all or part of the VNF is realized by a
                          set of OS containers and shall be absent otherwise.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      mciopRepositoryInfo:
                        description: >
                          Information about the MCIOP repository for the VNF
                          instance. Shall be present when all or part of the VNF
                          is realized by a set of OS containers and shall be
                          absent otherwise. See note 1.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      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: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfState:
                            description: >
                              STARTED: The VNF instance is up and running.
                              STOPPED: The VNF instance has been shut down.
                            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. This
                              attribute shall be present if the VNF supports
                              scaling. See clause B.2 for an explanation of VNF
                              scaling.
                            type: array
                            items:
                              description: >
                                This type represents the scale level of a VNF
                                instance related to a scaling aspect.
                              type: object
                              required:
                                - aspectId
                                - scaleLevel
                              properties:
                                aspectId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleToLevel:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          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:
                              description: >
                                This type represents the scale level of a VNF
                                instance related to a scaling aspect.
                              type: object
                              required:
                                - aspectId
                                - scaleLevel
                              properties:
                                aspectId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleToLevel:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          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.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n        \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n        attachment definition resource is needed to fulfil the connectivity requirements of the external \n        CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n"
                              type: object
                              required:
                                - id
                                - cpdId
                                - cpConfigId
                                - cpProtocolInfo
                              oneOf:
                                - required:
                                    - associatedVnfcCpId
                                - required:
                                    - associatedVipCpId
                                - 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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                cpConfigId:
                                  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
                                cpProtocolInfo:
                                  description: |
                                    Network protocol information for this CP.
                                  type: array
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                                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
                                associatedVirtualCpId:
                                  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
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceInfo”
                                    structure that provides the specification of
                                    the interface to attach the connection point
                                    to a secondary container cluster network.
                                    See notes 3 and 4.

                                    It shall be present if the external CP is
                                    associated to a VNFC realized by one or a
                                    set of OS containers and is connected to a
                                    secondary container cluster network. It
                                    shall not be present otherwise.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      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
                            minItems: 1
                            items:
                              description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n"
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            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: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          virtualCpInfo:
                            description: >
                              Virtual CPs that are part of the VNF instance.
                              Shall be present when a particular Virtual CP is
                              associated to an external CP of the VNF instance.
                              May be present otherwise.
                            type: array
                            items:
                              description: >
                                This type provides information related to a
                                virtual CP instance of a VNF.

                                NOTE: A consumer of the VNF LCM interface can
                                learn the actual VNFC instances implementing the
                                service 
                                      accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" 
                                      and filtering by corresponding "vduIds" values.
                              type: object
                              required:
                                - cpInstanceId
                                - cpdId
                                - resourceHandle
                                - vduIds
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                resourceHandle:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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 each layer
                                    protocol supported.
                                  type: array
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            type: string
                                vduIds:
                                  description: >
                                    Reference to the VDU(s) which implement the
                                    service accessible via the virtual CP
                                    instance. See note.
                                  type: array
                                  minItems: 1
                                  items:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                additionalServiceInfo:
                                  description: >
                                    Additional service identification
                                    information of the virtual CP instance.
                                  type: array
                                  items:
                                    description: >
                                      This type provides additional service
                                      information of the virtual CP instance
                                      used to expose properties of the  virtual
                                      CP to NFV-MANO.

                                      NOTE: This attribute shall only be present
                                      if additional information is needed to
                                      identify the service 
                                            termination within the VNF, such as for example a URL path information in an HTTP request required 
                                            to allow a single virtual CP IP address to be used for several HTTP based services that use the 
                                            same port number.
                                    type: object
                                    required:
                                      - portInfo
                                    properties:
                                      portInfo:
                                        description: >
                                          Service port numbers exposed by the
                                          virtual CP instance.
                                        minItems: 1
                                        type: array
                                        items:
                                          description: >
                                            This type describes the service
                                            identifying port properties exposed by
                                            the virtual CP instance.
                                          type: object
                                          required:
                                            - name
                                            - port
                                            - portConfigurable
                                          properties:
                                            name:
                                              description: >
                                                The name of the port exposed by the
                                                virtual CP instance.
                                              type: string
                                            protocol:
                                              description: >
                                                The L4 protocol for this port exposed by
                                                the virtual CP instance.

                                                Permitted values: - TCP - UDP - SCTP
                                              type: string
                                              enum:
                                                - TCP
                                                - UDP
                                                - SCTP
                                            port:
                                              description: >
                                                The L4 port number exposed by the
                                                virtual CP instance.
                                              type: integer
                                            portConfigurable:
                                              description: >
                                                The Boolean is a data type having two
                                                values (true and false).
                                              type: boolean
                                      serviceInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          extVirtualLinkInfo:
                            description: >
                              Information about the external VLs the VNF
                              instance is connected to.
                            type: array
                            items:
                              description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                              type: object
                              required:
                                - id
                                - resourceHandle
                                - currentVnfExtCpData
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                currentVnfExtCpData:
                                  description: >
                                    Allows the API consumer to read the current
                                    CP configuration information for the
                                    connection of external CPs  to the external
                                    virtual link. See note.
                                  type: array
                                  items:
                                    description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                    type: object
                                    required:
                                      - cpdId
                                    properties:
                                      cpdId:
                                        description: >
                                          An identifier that is unique within a
                                          VNF descriptor.
                                        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
                                          NFVO. The entries shall be applied by
                                          the VNFM according to the rules of JSON
                                          Merge Patch (see IETF RFC 7396). See
                                          notes 2, 3 and 4.
                                        type: object
                                        additionalProperties:
                                          description: >
                                            This type represents an externally
                                            provided link port, or a network
                                            attachment definition resource of
                                            secondary container cluster network, or
                                            network address information per instance
                                            of an external connection point. In the
                                            case of VM-based deployment of the VNFC
                                            exposing the external CP:
                                              1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                                  external VL.
                                              2.  In case 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.
                                            In the case of container-based
                                            deployment of the VNFC exposing the
                                            external CP, the VNFM shall use the
                                            network attachment definition resource
                                            of secondary container cluster network
                                            when connecting the CP to the external
                                            VL.

                                            * NOTE 1: The following conditions apply
                                            to the attributes "linkPortId" and
                                            "cpProtocolData" for an external CP
                                                      instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                                      1) Void.
                                                      2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                                      representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                                      corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                                      external CP instance that is to be re-configured or added to a particular external virtual link.
                                                      3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                                      4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                                      precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                                      pre-configured address information for the connection point from the resource representing the link port.
                                                      5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                                      cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                            * NOTE 2: The following conditions apply
                                            to the attributes “netAttDefResourceId”
                                            and “cpProtocolData” for an external CP
                                                      instance connected or to be connected to a secondary container cluster network:
                                                      1) Void.
                                                      2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                                      a to-be-created external CP instance or an existing external CP instance.
                                            * NOTE 3: Cardinality greater than 1 is
                                            only applicable for specific cases where
                                            more than one network attachment
                                                      definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                                      redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                                      to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                                      "NetAttDefResourceData".
                                            * NOTE 4: Either linkPortId or
                                            netAttDefResourceId may be included, but
                                            not both.
                                          anyOf:
                                            - required:
                                                - linkPortId
                                            - required:
                                                - cpProtocolData
                                            - required:
                                                - netAttDefResourceId
                                          type: object
                                          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 to the VNFM the need to create
                                                a dedicated link port for the external
                                                CP. If set to True, the VNFM shall
                                                create a link port. If set to False, the
                                                VNFM shall not create a link port. 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
                                            netAttDefResourceId:
                                              description: >
                                                Identifier of the
                                                “NetAttDefResourceData” structure that
                                                provides the specification of the
                                                interface to attach the external CP to a
                                                secondary container cluster network. It
                                                is only applicable if the external CP is
                                                connected or to be connected to a
                                                secondary container cluster network. It
                                                shall not be present if the external CP
                                                is related to a virtual network not
                                                categorized as secondary container
                                                cluster network. See notes 2, 3 and 4.
                                              type: array
                                              items:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                            cpProtocolData:
                                              description: >
                                                Parameters for configuring the network
                                                protocols on the link port that connects
                                                the CP to a VL. See notes 1 and 2.
                                              type: array
                                              items:
                                                description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                                type: object
                                                required:
                                                  - layerProtocol
                                                properties:
                                                  layerProtocol:
                                                    description: >
                                                      Identifier of layer(s) and protocol(s).
                                                      Permitted values:
                                                        - IP_OVER_ETHERNET.
                                                        - IP_FOR_VIRTUAL_CP
                                                      See note
                                                    type: string
                                                    enum:
                                                      - IP_OVER_ETHERNET
                                                      - IP_FOR_VIRTUAL_CP
                                                  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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                                      segmentationType:
                                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                            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. 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
                                                                the CISM or other resource provider. It
                                                                is expected to be unique within the VIM
                                                                instance.
                                                              type: string
                                                  virtualCpAddress:
                                                    description: >
                                                      This type represents network address
                                                      data for a virtual CP.

                                                      * NOTE 1: If the container cluster is
                                                      set up to be able to configure an
                                                      external load balancer this address will
                                                      be used,
                                                                otherwise it will be ignored by the CISM.
                                                      * NOTE 2: In case the cluster can
                                                      configure an external load balancer but
                                                      no loadBalancerIp is provided the
                                                      container
                                                                cluster will assign an IP address.
                                                      * NOTE 3: The attribute is only relevant
                                                      if the virtual CP is instantiated in a
                                                      cluster that supports configuration of
                                                      IP
                                                                address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                                Kubernetes® that supports configuration of address pools for load balancer services.
                                                      * NOTE 4: The loadBalancerIp and the
                                                      addressPoolName attributes shall not be
                                                      present at the same
                                                      time.                
                                                    type: object
                                                    required:
                                                      - type
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values: IPV4, IPV6.
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      loadBalancerIp:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      addressPoolName:
                                                        description: >
                                                          Name of an address pool from which the
                                                          container cluster will assign an IP
                                                          address to the virtual CP. See notes 3
                                                          and 4.
                                                        type: string
                                extNetAttDefResource:
                                  description: >
                                    Network attachment definition resources that
                                    provide the specification of the interface
                                    to attach connection points  to this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type contains information related to
                                      a network attachment definition resource
                                      that provides the  specification of the
                                      interface used to connect one or multiple
                                      connection points to a secondary
                                      container  cluster network.
                                    type: object
                                    required:
                                      - netAttDefResourceInfoId
                                      - netAttDefResource
                                    properties:
                                      netAttDefResourceInfoId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      netAttDefResource:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            type: string
                                      associatedExtCpId:
                                        description: >
                                          Identifier of the external CP associated
                                          to this network attachment definition
                                          resource. Shall be present  when the
                                          network attachment definition resource
                                          is used for external connectivity by the
                                          VNF.
                                        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
                                      associatedVnfcCpId:
                                        description: >
                                          Identifier of the VNFC CP associated to
                                          this network attachment definition
                                          resource. May be present when  the
                                          network attachment definition resource
                                          is used for internal connectivity by the
                                          VNF.
                                        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
                          extManagedVirtualLinkInfo:
                            description: >
                              Information about the externally-managed internal
                              VLs of the VNF instance. See notes 5 and 6.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - vnfVirtualLinkDescId
                                - networkResource
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfVirtualLinkDescId:
                                  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
                                networkResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                vnfLinkPorts:
                                  description: |
                                    Link ports of this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type represents a link port of an
                                      internal VL of a VNF.

                                      NOTE 1: Either 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.
                                      NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                      provides examples for configurations where
                                      both vipCpInstanceId
                                              and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                              only vipCpInstanceId is present (UC6 and UC#6-b).
                                      NOTE 3: The value of "trunkResourceId" is
                                      scoped by the value of "vimConnectionId"
                                      in the "resourceHandle"
                                              attribute.
                                    type: object
                                    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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                vnfNetAttDefResource:
                                  description: >
                                    Network attachment definition resources that
                                    provide the specification of the interface
                                    to attach connection points to this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type contains information related to
                                      a network attachment definition resource
                                      that provides the  specification of the
                                      interface used to connect one or multiple
                                      connection points to a secondary
                                      container  cluster network.
                                    type: object
                                    required:
                                      - netAttDefResourceInfoId
                                      - netAttDefResource
                                    properties:
                                      netAttDefResourceInfoId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      netAttDefResource:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            type: string
                                      associatedExtCpId:
                                        description: >
                                          Identifier of the external CP associated
                                          to this network attachment definition
                                          resource. Shall be present  when the
                                          network attachment definition resource
                                          is used for external connectivity by the
                                          VNF.
                                        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
                                      associatedVnfcCpId:
                                        description: >
                                          Identifier of the VNFC CP associated to
                                          this network attachment definition
                                          resource. May be present when  the
                                          network attachment definition resource
                                          is used for internal connectivity by the
                                          VNF.
                                        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
                                extManagedMultisiteVirtualLinkId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          monitoringParameters:
                            description: |
                              Active monitoring parameters.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - performanceMetric
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  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. Depending on the form of virtualisation container of the VNFC:\n  - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n  - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure of\n    information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n  a) For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n  b) For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n        TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n        internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n        CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n        external CP information.\nNOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\"\n        structure by an LCM operation occurrence, this does not represent a change that requires\n        including a related \"AffectedVnfc\" structure in the VNF LCM operation occurrence notifications\n        or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\nNOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n        definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build a link\n        redundant mated pair in SR-IOV cases.\nNOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\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
                                vduId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                computeResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                storageResourceIds:
                                  description: >
                                    References to the VirtualStorage resources
                                    or references to Storage MCIOs. The value
                                    refers to a VirtualStorageResourceInfo item
                                    in the VnfInstance.
                                  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
                                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: >
                                          An identifier that is unique within a
                                          VNF descriptor.
                                        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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                          type: object
                                          required:
                                            - layerProtocol
                                          properties:
                                            layerProtocol:
                                              description: >
                                                The identifier of layer(s) and
                                                protocol(s) associated to the network
                                                address information.

                                                Permitted values:
                                                  - IP_OVER_ETHERNET
                                                  - IP_FOR_VIRTUAL_CP
                                                See note.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                                - IP_FOR_VIRTUAL_CP
                                            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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                    notes 3 and 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. 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
                                                          the CISM or other resource provider. It
                                                          is expected to be unique within the VIM
                                                          instance.
                                                        type: string
                                            virtualCpAddress:
                                              description: >
                                                This type represents information about a
                                                network address that has been assigned
                                                to a virtual CP.
                                              type: object
                                              required:
                                                - type
                                              properties:
                                                type:
                                                  description: >
                                                    The type of the IP addresses. Permitted
                                                    values: - IPV4 - IPV6
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                loadBalancerIp:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                addressPoolName:
                                                  description: >
                                                    Name of an address pool from which an IP
                                                    address is assigned to the virtual CP.
                                                  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
                                      parentCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      netAttDefResourceId:
                                        description: >
                                          Identifier of the
                                          “NetAttDefResourceInfo” structure that
                                          provides the specification of the
                                          interface to attach the connection point
                                          to a secondary container cluster
                                          network. See notes 5 and 6. It shall be
                                          present if the internal CP is associated
                                          to a VNFC realized by one or a set of OS
                                          containers and is connected to a
                                          secondary container cluster network. It
                                          shall not be present otherwise.
                                        type: array
                                        items:
                                          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 keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          vnfVirtualLinkResourceInfo:
                            description: >
                              Information about the virtualised network
                              resources used by the VLs of the VNF instance. See
                              note 6.
                            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.

                                Note: If only the value or the presence of this
                                attribute is changed in the
                                "VnfVirtualLinkResourceInfo"
                                      structure by an LCM operation occurrence, this does not represent a change that requires including
                                      a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
                                      "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                              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
                                vnfVirtualLinkDescId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                networkResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  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
                                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:
                                    description: >
                                      This type represents a link port of an
                                      internal VL of a VNF.

                                      NOTE 1: Either 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.
                                      NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                      provides examples for configurations where
                                      both vipCpInstanceId
                                              and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                              only vipCpInstanceId is present (UC6 and UC#6-b).
                                      NOTE 3: The value of "trunkResourceId" is
                                      scoped by the value of "vimConnectionId"
                                      in the "resourceHandle"
                                              attribute.
                                    type: object
                                    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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          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.

                                Note: If only the value or the presence of this
                                attribute is changed in the
                                "VirtualStorageResourceInfo"
                                      structure by an LCM operation occurrence, this does not represent a change that requires
                                      including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
                                      notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                storageResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  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
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          mcioInfo:
                            description: >
                              Information on the MCIO(s) representing VNFC
                              instance(s) realized by one or a set of OS
                              containers and created from the same VDU for the
                              VNF instance.
                            type: array
                            items:
                              description: >
                                This type provides information about an MCIO
                                representing the set of VNFC instances realized
                                by one  or a set of OS containers which have
                                been created based on the same VDU. Within the
                                CISM, an MCIO controller monitors the actual
                                state of an MCIO representing the set of VNFC 
                                instances realized by one or a set of OS
                                containers and compare it to the desired state
                                as specified  in the respective declarative
                                descriptor. It triggers actions toward the CIS
                                to align the actual to  the desired state.
                                Monitoring the actual state includes monitoring
                                the number of MCIO instances available  at any
                                specific point in time. In addition, an MCIO
                                controller maintains properties and runtime
                                information  on the MCIO instances which have
                                been created based on the same VDU. The McioInfo
                                data structure provides the runtime information
                                on the MCIOs obtained from the MCIO controller.

                                NOTE: There are different types of MCIOs. The
                                set of VNFC instances based on the same VDU is
                                represented 
                                      by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type 
                                      of MCIO, e.g. a POD.

                                Runtime information of the set of OS containers
                                realizing an individual VNFC instance is not
                                part of the  McioInfo data structure; such
                                runtime information is provided in the
                                ResourceHandle data structure  referenced from
                                the VnfcResourceInfo. The McioInfo does not
                                provide runtime information of a constituent 
                                VNFC instance created based on a specific VDU.

                                NOTE 1: The type of MCIO as specified in the
                                declarative descriptor of the MCIO, and that can
                                be read from 
                                        the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the 
                                        “kind” property of the declarative descriptor.
                                NOTE 2: If the attribute additionalInfo is
                                present, it may contain runtime information on
                                the actual and 
                                        desired state of the MCIO(s).   
                                NOTE 3: When the container infrastructure
                                service is a Kubernetes® instance, the mcioId is
                                the combined 
                                        values from the kind and name fields of the Kubernetes resource object, separated by a slash. 
                                        Example: "Deployment/abcd". 
                                NOTE 4: When the container infrastructure
                                service is a Kubernetes® instance, the mcioName
                                is the name 
                                        field of the resource object.          
                              type: object
                              required:
                                - mcioId
                                - mcioName
                                - mcioNamespace
                                - vduId
                                - cismId
                                - mcioType
                                - desiredInstances
                                - availableInstances
                              properties:
                                mcioId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                mcioName:
                                  description: >
                                    Human readable name of this MCIO. See note
                                    4.
                                  type: string
                                mcioNamespace:
                                  description: |
                                    Namespace of this MCIO.
                                  type: string
                                vduId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                cismId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                mcioType:
                                  description: >
                                    The type of MCIO. Specific values, their
                                    semantics and associated MCIO types are
                                    defined in clause  5.5.4.9. Additional
                                    values are also permitted. See note 1.
                                  type: string
                                  enum:
                                    - Deployment
                                    - Statefulset
                                desiredInstances:
                                  description: |
                                    Number of desired MCIO instances.
                                  type: integer
                                availableInstances:
                                  description: |
                                    Number of available MCIO instances.
                                  type: integer
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      _links:
                        description: |
                          Links to resources related to this resource.
                        type: object
                        required:
                          - self
                        properties:
                          self:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          indicators:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          instantiate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          terminate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          scale:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          scaleToLevel:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeFlavour:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          heal:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          operate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeExtConn:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          createSnapshot:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          revertToSnapshot:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeCurrentVnfPkg:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                  vnfcSnapshots:
                    description: >
                      Information about VNFC snapshots constituting this VNF
                      snapshot.
                    type: array
                    items:
                      description: "This type represents a VNFC snapshot.\nNOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot \n        being returned from the VIM as output data in the response message of the individual resource \n        operations. This attribute shall only be present for a VNFC snapshot that has been newly created \n        by the VNFM as a result of the \"Create VNF snapshot task\".\nNOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being \n        returned from the VIM as output data in the response message of the individual resource operations. \n        This attribute shall only be present for a VNFC snapshot with an associated storage resource and that \n        has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n"
                      type: object
                      required:
                        - id
                        - vnfcInstanceId
                        - triggeredAt
                        - vnfcResourceId
                      properties:
                        id:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                        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 to IETF RFC 3339.
                          type: string
                          format: date-time
                        creationFinishedAt:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according to IETF RFC 3339.
                          type: string
                          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:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        storageSnapshotResources:
                          description: >
                            Mapping of the storage resources associated to the
                            VNFC with the storage snapshot resources.
                          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
                              storageSnapshotResource:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  vnfStateSnapshotInfo:
                    description: >
                      This type represents information about VNF-specific state
                      snapshot data.
                    type: object
                    required:
                      - checksum
                      - isEncrypted
                    properties:
                      checksum:
                        description: |
                          Cheksum description
                        type: string
                      isEncrypted:
                        description: >
                          The Boolean is a data type having two values (true and
                          false).
                        type: boolean
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  _links:
                    description: |
                      Links to resources related to this resource.
                    type: object
                    required:
                      - self
                    properties:
                      self:
                        description: >
                          This type represents a link to a resource using an
                          absolute URI.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
                      vnfStateSnapshot:
                        description: >
                          This type represents a link to a resource using an
                          absolute URI.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
      required: true
  responses:
    VNFInstances.Post.201:
      description: >
        201 CREATED


        Shall be returned when a new "Individual VNF instance" resource and

        the associated VNF instance identifier washas been created successfully.

        The response body shall contain a representation of the created VNF
        instance,

        as defined in clause 5.5.2.2.

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

        URI of the created VNF instance.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n"
            type: object
            required:
              - id
              - vnfdId
              - vnfProvider
              - vnfProductName
              - vnfSoftwareVersion
              - vnfdVersion
              - instantiationState
              - _links
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfInstanceName:
                description: >
                  Name of the VNF instance. This attribute can be modified with
                  the PATCH method.
                type: string
              vnfInstanceDescription:
                description: >
                  Human-readable description of the VNF instance. This attribute
                  can be modified with the PATCH method.
                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.
                type: string
              vnfdVersion:
                description: |
                  A version.
                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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              vimConnectionInfo:
                description: >
                  Information about VIM or CISM connections to be used for
                  managing the resources for the VNF instance. The keys of the
                  map, each of which identifies information about a particular
                  VIM connection, are managed by the NFVO and referenced from
                  other data structures via the "vimConnectionId" attribute.
                  This attribute shall only be supported and present if - the
                  resources of at least of the VNFCs are managed by a VIM and
                  VNF-related resource management in direct mode is applicable.
                  - the resources of at least of the VNFCs are managed by a
                  CISM. This attribute can be modified with the PATCH method. If
                  VIM connection information is provisioned to the VNFM by means
                  outside the scope of the present document, the information in
                  the "vimConnectionInfo" attribute provides necessary
                  information for binding the VnfInstance representing the
                  "Individual VNF instance" to the applicable VIM connection
                  information used to perform resource management for the VNF
                  instance. See also the definition of the "VimConnectionInfo"
                  in clause 4.4.1.6.
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
              cirConnectionInfo:
                description: >
                  Information about the CIR connection for managing OS container
                  images for the VNF instance. Shall be present when all or part
                  of the VNF is realized by a set of OS containers and shall be
                  absent otherwise.
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
              mciopRepositoryInfo:
                description: >
                  Information about the MCIOP repository for the VNF instance.
                  Shall be present when all or part of the VNF is realized by a
                  set of OS containers and shall be absent otherwise. See note
                  1.
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
              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: |
                      An identifier that is unique within a VNF descriptor.
                    type: string
                  vnfState:
                    description: >
                      STARTED: The VNF instance is up and running. STOPPED: The
                      VNF instance has been shut down.
                    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. This attribute shall be present
                      if the VNF supports scaling. See clause B.2 for an
                      explanation of VNF scaling.
                    type: array
                    items:
                      description: >
                        This type represents the scale level of a VNF instance
                        related to a scaling aspect.
                      type: object
                      required:
                        - aspectId
                        - scaleLevel
                      properties:
                        aspectId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        scaleToLevel:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                  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:
                      description: >
                        This type represents the scale level of a VNF instance
                        related to a scaling aspect.
                      type: object
                      required:
                        - aspectId
                        - scaleLevel
                      properties:
                        aspectId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        scaleToLevel:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                  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.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n        \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n        attachment definition resource is needed to fulfil the connectivity requirements of the external \n        CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n"
                      type: object
                      required:
                        - id
                        - cpdId
                        - cpConfigId
                        - cpProtocolInfo
                      oneOf:
                        - required:
                            - associatedVnfcCpId
                        - required:
                            - associatedVipCpId
                        - 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: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        cpConfigId:
                          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
                        cpProtocolInfo:
                          description: |
                            Network protocol information for this CP.
                          type: array
                          items:
                            description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                            type: object
                            required:
                              - layerProtocol
                            properties:
                              layerProtocol:
                                description: >
                                  The identifier of layer(s) and protocol(s)
                                  associated to the network address information.

                                  Permitted values:
                                    - IP_OVER_ETHERNET
                                    - IP_FOR_VIRTUAL_CP
                                  See note.
                                type: string
                                enum:
                                  - IP_OVER_ETHERNET
                                  - IP_FOR_VIRTUAL_CP
                              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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                      notes 3 and 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. 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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          type: string
                              virtualCpAddress:
                                description: >
                                  This type represents information about a
                                  network address that has been assigned to a
                                  virtual CP.
                                type: object
                                required:
                                  - type
                                properties:
                                  type:
                                    description: >
                                      The type of the IP addresses. Permitted
                                      values: - IPV4 - IPV6
                                    type: string
                                    enum:
                                      - IPV4
                                      - IPV6
                                  loadBalancerIp:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  addressPoolName:
                                    description: >
                                      Name of an address pool from which an IP
                                      address is assigned to the virtual CP.
                                    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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        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
                        associatedVirtualCpId:
                          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
                        netAttDefResourceId:
                          description: >
                            Identifier of the “NetAttDefResourceInfo” structure
                            that provides the specification of the interface to
                            attach the connection point to a secondary container
                            cluster network. See notes 3 and 4.

                            It shall be present if the external CP is associated
                            to a VNFC realized by one or a set of OS containers
                            and is connected to a secondary container cluster
                            network. It shall not be present otherwise.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being 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
                    minItems: 1
                    items:
                      description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n"
                      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: >
                            An identifier that is unique within a VNF
                            descriptor.
                          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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                            type: object
                            required:
                              - layerProtocol
                            properties:
                              layerProtocol:
                                description: >
                                  The identifier of layer(s) and protocol(s)
                                  associated to the network address information.

                                  Permitted values:
                                    - IP_OVER_ETHERNET
                                    - IP_FOR_VIRTUAL_CP
                                  See note.
                                type: string
                                enum:
                                  - IP_OVER_ETHERNET
                                  - IP_FOR_VIRTUAL_CP
                              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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                      notes 3 and 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. 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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          type: string
                              virtualCpAddress:
                                description: >
                                  This type represents information about a
                                  network address that has been assigned to a
                                  virtual CP.
                                type: object
                                required:
                                  - type
                                properties:
                                  type:
                                    description: >
                                      The type of the IP addresses. Permitted
                                      values: - IPV4 - IPV6
                                    type: string
                                    enum:
                                      - IPV4
                                      - IPV6
                                  loadBalancerIp:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  addressPoolName:
                                    description: >
                                      Name of an address pool from which an IP
                                      address is assigned to the virtual CP.
                                    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: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  virtualCpInfo:
                    description: >
                      Virtual CPs that are part of the VNF instance. Shall be
                      present when a particular Virtual CP is associated to an
                      external CP of the VNF instance. May be present otherwise.
                    type: array
                    items:
                      description: >
                        This type provides information related to a virtual CP
                        instance of a VNF.

                        NOTE: A consumer of the VNF LCM interface can learn the
                        actual VNFC instances implementing the service 
                              accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" 
                              and filtering by corresponding "vduIds" values.
                      type: object
                      required:
                        - cpInstanceId
                        - cpdId
                        - resourceHandle
                        - vduIds
                      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: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        resourceHandle:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              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 each layer protocol supported.
                          type: array
                          items:
                            description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                            type: object
                            required:
                              - layerProtocol
                            properties:
                              layerProtocol:
                                description: >
                                  The identifier of layer(s) and protocol(s)
                                  associated to the network address information.

                                  Permitted values:
                                    - IP_OVER_ETHERNET
                                    - IP_FOR_VIRTUAL_CP
                                  See note.
                                type: string
                                enum:
                                  - IP_OVER_ETHERNET
                                  - IP_FOR_VIRTUAL_CP
                              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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                      notes 3 and 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. 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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          type: string
                              virtualCpAddress:
                                description: >
                                  This type represents information about a
                                  network address that has been assigned to a
                                  virtual CP.
                                type: object
                                required:
                                  - type
                                properties:
                                  type:
                                    description: >
                                      The type of the IP addresses. Permitted
                                      values: - IPV4 - IPV6
                                    type: string
                                    enum:
                                      - IPV4
                                      - IPV6
                                  loadBalancerIp:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  addressPoolName:
                                    description: >
                                      Name of an address pool from which an IP
                                      address is assigned to the virtual CP.
                                    type: string
                        vduIds:
                          description: >
                            Reference to the VDU(s) which implement the service
                            accessible via the virtual CP instance. See note.
                          type: array
                          minItems: 1
                          items:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                        additionalServiceInfo:
                          description: >
                            Additional service identification information of the
                            virtual CP instance.
                          type: array
                          items:
                            description: >
                              This type provides additional service information
                              of the virtual CP instance used to expose
                              properties of the  virtual CP to NFV-MANO.

                              NOTE: This attribute shall only be present if
                              additional information is needed to identify the
                              service 
                                    termination within the VNF, such as for example a URL path information in an HTTP request required 
                                    to allow a single virtual CP IP address to be used for several HTTP based services that use the 
                                    same port number.
                            type: object
                            required:
                              - portInfo
                            properties:
                              portInfo:
                                description: >
                                  Service port numbers exposed by the virtual CP
                                  instance.
                                minItems: 1
                                type: array
                                items:
                                  description: >
                                    This type describes the service identifying
                                    port properties exposed by the virtual CP
                                    instance.
                                  type: object
                                  required:
                                    - name
                                    - port
                                    - portConfigurable
                                  properties:
                                    name:
                                      description: >
                                        The name of the port exposed by the
                                        virtual CP instance.
                                      type: string
                                    protocol:
                                      description: >
                                        The L4 protocol for this port exposed by
                                        the virtual CP instance.

                                        Permitted values: - TCP - UDP - SCTP
                                      type: string
                                      enum:
                                        - TCP
                                        - UDP
                                        - SCTP
                                    port:
                                      description: >
                                        The L4 port number exposed by the
                                        virtual CP instance.
                                      type: integer
                                    portConfigurable:
                                      description: >
                                        The Boolean is a data type having two
                                        values (true and false).
                                      type: boolean
                              serviceInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  extVirtualLinkInfo:
                    description: >
                      Information about the external VLs the VNF instance is
                      connected to.
                    type: array
                    items:
                      description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                      type: object
                      required:
                        - id
                        - resourceHandle
                        - currentVnfExtCpData
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        resourceHandle:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                                required:
                                  - resourceId
                                type: object
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance. Information about
                                  the resource is available from the VIM.

                                  * NOTE 1: The value set of the
                                  "vimLevelResourceType" attribute is within the
                                  scope of the VIM or CISM or the resource 
                                            provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                            the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                            infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                            resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                            e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                  * NOTE 2: When the container infrastructure
                                  service management is a Kubernetes® instance
                                  the resourceId shall be 
                                            populated in the following way:
                                            - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                            per resource type.
                                            - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                            i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                            Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                            manifest.
                                            - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                            the 'metadata.name' field in Kubernetes® manifest.
                                properties:
                                  vimConnectionId:
                                    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
                                      the CISM or other resource provider. It is
                                      expected to be unique within the VIM
                                      instance.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM or the CISM or the resource provider.
                                      See note 1.
                                    type: string
                                  vimLevelAdditionalResourceInfo:
                                    description: >
                                      This type represents additional resource
                                      information which resource and resource
                                      type specific, and which is available from
                                      the VIM or the CISM or the resource
                                      provider.

                                      * NOTE: At least one attribute shall be
                                      present.
                                    type: object
                                    properties:
                                      hostName:
                                        description: >
                                          Name of the host where the resource is
                                          allocated. It shall be present for
                                          compute resources in the scope of the
                                          CISM and shall be absent otherwise. See
                                          note.
                                        type: string
                                      persistentVolume:
                                        description: >
                                          Name of the persistent volume to which
                                          the persistent volume claim representing
                                          the storage resource is bound. It may be
                                          present for storage resources in the
                                          scope of the CISM and shall be absent
                                          otherwise. See note.
                                        type: string
                                      additionalInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                  containerNamespace:
                                    description: >
                                      The value of the namespace in which the
                                      MCIO corresponding to the resource is
                                      deployed. This attribute shall be present
                                      if the resource is managed by a CISM and
                                      it shall be absent otherwise.
                                    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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                        currentVnfExtCpData:
                          description: >
                            Allows the API consumer to read the current CP
                            configuration information for the connection of
                            external CPs  to the external virtual link. See
                            note.
                          type: array
                          items:
                            description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                            type: object
                            required:
                              - cpdId
                            properties:
                              cpdId:
                                description: >
                                  An identifier that is unique within a VNF
                                  descriptor.
                                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 NFVO. The entries shall be
                                  applied by the VNFM according to the rules of
                                  JSON Merge Patch (see IETF RFC 7396). See
                                  notes 2, 3 and 4.
                                type: object
                                additionalProperties:
                                  description: >
                                    This type represents an externally provided
                                    link port, or a network attachment
                                    definition resource of secondary container
                                    cluster network, or network address
                                    information per instance of an external
                                    connection point. In the case of VM-based
                                    deployment of the VNFC exposing the external
                                    CP:
                                      1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                          external VL.
                                      2.  In case 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.
                                    In the case of container-based deployment of
                                    the VNFC exposing the external CP, the VNFM
                                    shall use the network attachment definition
                                    resource of secondary container cluster
                                    network when connecting the CP to the
                                    external VL.

                                    * NOTE 1: The following conditions apply to
                                    the attributes "linkPortId" and
                                    "cpProtocolData" for an external CP
                                              instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                              1) Void.
                                              2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                              representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                              corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                              external CP instance that is to be re-configured or added to a particular external virtual link.
                                              3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                              4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                              precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                              pre-configured address information for the connection point from the resource representing the link port.
                                              5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                              cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                    * NOTE 2: The following conditions apply to
                                    the attributes “netAttDefResourceId” and
                                    “cpProtocolData” for an external CP
                                              instance connected or to be connected to a secondary container cluster network:
                                              1) Void.
                                              2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                              a to-be-created external CP instance or an existing external CP instance.
                                    * NOTE 3: Cardinality greater than 1 is only
                                    applicable for specific cases where more
                                    than one network attachment
                                              definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                              redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                              to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                              "NetAttDefResourceData".
                                    * NOTE 4: Either linkPortId or
                                    netAttDefResourceId may be included, but not
                                    both.
                                  anyOf:
                                    - required:
                                        - linkPortId
                                    - required:
                                        - cpProtocolData
                                    - required:
                                        - netAttDefResourceId
                                  type: object
                                  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 to the VNFM the need to create
                                        a dedicated link port for the external
                                        CP. If set to True, the VNFM shall
                                        create a link port. If set to False, the
                                        VNFM shall not create a link port. 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
                                    netAttDefResourceId:
                                      description: >
                                        Identifier of the
                                        “NetAttDefResourceData” structure that
                                        provides the specification of the
                                        interface to attach the external CP to a
                                        secondary container cluster network. It
                                        is only applicable if the external CP is
                                        connected or to be connected to a
                                        secondary container cluster network. It
                                        shall not be present if the external CP
                                        is related to a virtual network not
                                        categorized as secondary container
                                        cluster network. See notes 2, 3 and 4.
                                      type: array
                                      items:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                    cpProtocolData:
                                      description: >
                                        Parameters for configuring the network
                                        protocols on the link port that connects
                                        the CP to a VL. See notes 1 and 2.
                                      type: array
                                      items:
                                        description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                        type: object
                                        required:
                                          - layerProtocol
                                        properties:
                                          layerProtocol:
                                            description: >
                                              Identifier of layer(s) and protocol(s).
                                              Permitted values:
                                                - IP_OVER_ETHERNET.
                                                - IP_FOR_VIRTUAL_CP
                                              See note
                                            type: string
                                            enum:
                                              - IP_OVER_ETHERNET
                                              - IP_FOR_VIRTUAL_CP
                                          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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                              segmentationType:
                                                description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                    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. 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
                                                        the CISM or other resource provider. It
                                                        is expected to be unique within the VIM
                                                        instance.
                                                      type: string
                                          virtualCpAddress:
                                            description: >
                                              This type represents network address
                                              data for a virtual CP.

                                              * NOTE 1: If the container cluster is
                                              set up to be able to configure an
                                              external load balancer this address will
                                              be used,
                                                        otherwise it will be ignored by the CISM.
                                              * NOTE 2: In case the cluster can
                                              configure an external load balancer but
                                              no loadBalancerIp is provided the
                                              container
                                                        cluster will assign an IP address.
                                              * NOTE 3: The attribute is only relevant
                                              if the virtual CP is instantiated in a
                                              cluster that supports configuration of
                                              IP
                                                        address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                        Kubernetes® that supports configuration of address pools for load balancer services.
                                              * NOTE 4: The loadBalancerIp and the
                                              addressPoolName attributes shall not be
                                              present at the same
                                              time.                
                                            type: object
                                            required:
                                              - type
                                            properties:
                                              type:
                                                description: >
                                                  The type of the IP addresses. Permitted
                                                  values: IPV4, IPV6.
                                                type: string
                                                enum:
                                                  - IPV4
                                                  - IPV6
                                              loadBalancerIp:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              addressPoolName:
                                                description: >
                                                  Name of an address pool from which the
                                                  container cluster will assign an IP
                                                  address to the virtual CP. See notes 3
                                                  and 4.
                                                type: string
                        extNetAttDefResource:
                          description: >
                            Network attachment definition resources that provide
                            the specification of the interface to attach
                            connection points  to this VL.
                          type: array
                          items:
                            description: >
                              This type contains information related to a
                              network attachment definition resource that
                              provides the  specification of the interface used
                              to connect one or multiple connection points to a
                              secondary container  cluster network.
                            type: object
                            required:
                              - netAttDefResourceInfoId
                              - netAttDefResource
                            properties:
                              netAttDefResourceInfoId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              netAttDefResource:
                                required:
                                  - resourceId
                                type: object
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance. Information about
                                  the resource is available from the VIM.

                                  * NOTE 1: The value set of the
                                  "vimLevelResourceType" attribute is within the
                                  scope of the VIM or CISM or the resource 
                                            provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                            the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                            infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                            resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                            e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                  * NOTE 2: When the container infrastructure
                                  service management is a Kubernetes® instance
                                  the resourceId shall be 
                                            populated in the following way:
                                            - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                            per resource type.
                                            - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                            i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                            Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                            manifest.
                                            - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                            the 'metadata.name' field in Kubernetes® manifest.
                                properties:
                                  vimConnectionId:
                                    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
                                      the CISM or other resource provider. It is
                                      expected to be unique within the VIM
                                      instance.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM or the CISM or the resource provider.
                                      See note 1.
                                    type: string
                                  vimLevelAdditionalResourceInfo:
                                    description: >
                                      This type represents additional resource
                                      information which resource and resource
                                      type specific, and which is available from
                                      the VIM or the CISM or the resource
                                      provider.

                                      * NOTE: At least one attribute shall be
                                      present.
                                    type: object
                                    properties:
                                      hostName:
                                        description: >
                                          Name of the host where the resource is
                                          allocated. It shall be present for
                                          compute resources in the scope of the
                                          CISM and shall be absent otherwise. See
                                          note.
                                        type: string
                                      persistentVolume:
                                        description: >
                                          Name of the persistent volume to which
                                          the persistent volume claim representing
                                          the storage resource is bound. It may be
                                          present for storage resources in the
                                          scope of the CISM and shall be absent
                                          otherwise. See note.
                                        type: string
                                      additionalInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                  containerNamespace:
                                    description: >
                                      The value of the namespace in which the
                                      MCIO corresponding to the resource is
                                      deployed. This attribute shall be present
                                      if the resource is managed by a CISM and
                                      it shall be absent otherwise.
                                    type: string
                              associatedExtCpId:
                                description: >
                                  Identifier of the external CP associated to
                                  this network attachment definition resource.
                                  Shall be present  when the network attachment
                                  definition resource is used for external
                                  connectivity by the VNF.
                                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
                              associatedVnfcCpId:
                                description: >
                                  Identifier of the VNFC CP associated to this
                                  network attachment definition resource. May be
                                  present when  the network attachment
                                  definition resource is used for internal
                                  connectivity by the VNF.
                                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
                  extManagedVirtualLinkInfo:
                    description: >
                      Information about the externally-managed internal VLs of
                      the VNF instance. See notes 5 and 6.
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - vnfVirtualLinkDescId
                        - networkResource
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfVirtualLinkDescId:
                          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
                        networkResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        vnfLinkPorts:
                          description: |
                            Link ports of this VL.
                          type: array
                          items:
                            description: >
                              This type represents a link port of an internal VL
                              of a VNF.

                              NOTE 1: Either 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.
                              NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides
                              examples for configurations where both
                              vipCpInstanceId
                                      and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                      only vipCpInstanceId is present (UC6 and UC#6-b).
                              NOTE 3: The value of "trunkResourceId" is scoped
                              by the value of "vimConnectionId" in the
                              "resourceHandle"
                                      attribute.
                            type: object
                            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:
                                required:
                                  - resourceId
                                type: object
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance. Information about
                                  the resource is available from the VIM.

                                  * NOTE 1: The value set of the
                                  "vimLevelResourceType" attribute is within the
                                  scope of the VIM or CISM or the resource 
                                            provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                            the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                            infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                            resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                            e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                  * NOTE 2: When the container infrastructure
                                  service management is a Kubernetes® instance
                                  the resourceId shall be 
                                            populated in the following way:
                                            - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                            per resource type.
                                            - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                            i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                            Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                            manifest.
                                            - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                            the 'metadata.name' field in Kubernetes® manifest.
                                properties:
                                  vimConnectionId:
                                    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
                                      the CISM or other resource provider. It is
                                      expected to be unique within the VIM
                                      instance.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM or the CISM or the resource provider.
                                      See note 1.
                                    type: string
                                  vimLevelAdditionalResourceInfo:
                                    description: >
                                      This type represents additional resource
                                      information which resource and resource
                                      type specific, and which is available from
                                      the VIM or the CISM or the resource
                                      provider.

                                      * NOTE: At least one attribute shall be
                                      present.
                                    type: object
                                    properties:
                                      hostName:
                                        description: >
                                          Name of the host where the resource is
                                          allocated. It shall be present for
                                          compute resources in the scope of the
                                          CISM and shall be absent otherwise. See
                                          note.
                                        type: string
                                      persistentVolume:
                                        description: >
                                          Name of the persistent volume to which
                                          the persistent volume claim representing
                                          the storage resource is bound. It may be
                                          present for storage resources in the
                                          scope of the CISM and shall be absent
                                          otherwise. See note.
                                        type: string
                                      additionalInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                  containerNamespace:
                                    description: >
                                      The value of the namespace in which the
                                      MCIO corresponding to the resource is
                                      deployed. This attribute shall be present
                                      if the resource is managed by a CISM and
                                      it shall be absent otherwise.
                                    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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                        vnfNetAttDefResource:
                          description: >
                            Network attachment definition resources that provide
                            the specification of the interface to attach
                            connection points to this VL.
                          type: array
                          items:
                            description: >
                              This type contains information related to a
                              network attachment definition resource that
                              provides the  specification of the interface used
                              to connect one or multiple connection points to a
                              secondary container  cluster network.
                            type: object
                            required:
                              - netAttDefResourceInfoId
                              - netAttDefResource
                            properties:
                              netAttDefResourceInfoId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              netAttDefResource:
                                required:
                                  - resourceId
                                type: object
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance. Information about
                                  the resource is available from the VIM.

                                  * NOTE 1: The value set of the
                                  "vimLevelResourceType" attribute is within the
                                  scope of the VIM or CISM or the resource 
                                            provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                            the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                            infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                            resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                            e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                  * NOTE 2: When the container infrastructure
                                  service management is a Kubernetes® instance
                                  the resourceId shall be 
                                            populated in the following way:
                                            - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                            per resource type.
                                            - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                            i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                            Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                            manifest.
                                            - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                            the 'metadata.name' field in Kubernetes® manifest.
                                properties:
                                  vimConnectionId:
                                    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
                                      the CISM or other resource provider. It is
                                      expected to be unique within the VIM
                                      instance.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM or the CISM or the resource provider.
                                      See note 1.
                                    type: string
                                  vimLevelAdditionalResourceInfo:
                                    description: >
                                      This type represents additional resource
                                      information which resource and resource
                                      type specific, and which is available from
                                      the VIM or the CISM or the resource
                                      provider.

                                      * NOTE: At least one attribute shall be
                                      present.
                                    type: object
                                    properties:
                                      hostName:
                                        description: >
                                          Name of the host where the resource is
                                          allocated. It shall be present for
                                          compute resources in the scope of the
                                          CISM and shall be absent otherwise. See
                                          note.
                                        type: string
                                      persistentVolume:
                                        description: >
                                          Name of the persistent volume to which
                                          the persistent volume claim representing
                                          the storage resource is bound. It may be
                                          present for storage resources in the
                                          scope of the CISM and shall be absent
                                          otherwise. See note.
                                        type: string
                                      additionalInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                  containerNamespace:
                                    description: >
                                      The value of the namespace in which the
                                      MCIO corresponding to the resource is
                                      deployed. This attribute shall be present
                                      if the resource is managed by a CISM and
                                      it shall be absent otherwise.
                                    type: string
                              associatedExtCpId:
                                description: >
                                  Identifier of the external CP associated to
                                  this network attachment definition resource.
                                  Shall be present  when the network attachment
                                  definition resource is used for external
                                  connectivity by the VNF.
                                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
                              associatedVnfcCpId:
                                description: >
                                  Identifier of the VNFC CP associated to this
                                  network attachment definition resource. May be
                                  present when  the network attachment
                                  definition resource is used for internal
                                  connectivity by the VNF.
                                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
                        extManagedMultisiteVirtualLinkId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                  monitoringParameters:
                    description: |
                      Active monitoring parameters.
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - performanceMetric
                      properties:
                        id:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          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. Depending on the form of virtualisation container of the VNFC:\n  - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n  - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure of\n    information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n  a) For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n  b) For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n        TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n        internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n        CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n        external CP information.\nNOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\"\n        structure by an LCM operation occurrence, this does not represent a change that requires\n        including a related \"AffectedVnfc\" structure in the VNF LCM operation occurrence notifications\n        or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\nNOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n        definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build a link\n        redundant mated pair in SR-IOV cases.\nNOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\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
                        vduId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        computeResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        zoneId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        storageResourceIds:
                          description: >
                            References to the VirtualStorage resources or
                            references to Storage MCIOs. The value refers to a
                            VirtualStorageResourceInfo item in the VnfInstance.
                          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
                        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: >
                                  An identifier that is unique within a VNF
                                  descriptor.
                                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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                  type: object
                                  required:
                                    - layerProtocol
                                  properties:
                                    layerProtocol:
                                      description: >
                                        The identifier of layer(s) and
                                        protocol(s) associated to the network
                                        address information.

                                        Permitted values:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                        See note.
                                      type: string
                                      enum:
                                        - IP_OVER_ETHERNET
                                        - IP_FOR_VIRTUAL_CP
                                    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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                            notes 3 and 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. 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
                                                  the CISM or other resource provider. It
                                                  is expected to be unique within the VIM
                                                  instance.
                                                type: string
                                    virtualCpAddress:
                                      description: >
                                        This type represents information about a
                                        network address that has been assigned
                                        to a virtual CP.
                                      type: object
                                      required:
                                        - type
                                      properties:
                                        type:
                                          description: >
                                            The type of the IP addresses. Permitted
                                            values: - IPV4 - IPV6
                                          type: string
                                          enum:
                                            - IPV4
                                            - IPV6
                                        loadBalancerIp:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        addressPoolName:
                                          description: >
                                            Name of an address pool from which an IP
                                            address is assigned to the virtual CP.
                                          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
                              parentCpId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              netAttDefResourceId:
                                description: >
                                  Identifier of the “NetAttDefResourceInfo”
                                  structure that provides the specification of
                                  the interface to attach the connection point
                                  to a secondary container cluster network. See
                                  notes 5 and 6. It shall be present if the
                                  internal CP is associated to a VNFC realized
                                  by one or a set of OS containers and is
                                  connected to a secondary container cluster
                                  network. It shall not be present otherwise.
                                type: array
                                items:
                                  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 keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  vnfVirtualLinkResourceInfo:
                    description: >
                      Information about the virtualised network resources used
                      by the VLs of the VNF instance. See note 6.
                    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.

                        Note: If only the value or the presence of this
                        attribute is changed in the "VnfVirtualLinkResourceInfo"
                              structure by an LCM operation occurrence, this does not represent a change that requires including
                              a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
                              "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                      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
                        vnfVirtualLinkDescId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        networkResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        zoneId:
                          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
                        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:
                            description: >
                              This type represents a link port of an internal VL
                              of a VNF.

                              NOTE 1: Either 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.
                              NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides
                              examples for configurations where both
                              vipCpInstanceId
                                      and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                      only vipCpInstanceId is present (UC6 and UC#6-b).
                              NOTE 3: The value of "trunkResourceId" is scoped
                              by the value of "vimConnectionId" in the
                              "resourceHandle"
                                      attribute.
                            type: object
                            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:
                                required:
                                  - resourceId
                                type: object
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance. Information about
                                  the resource is available from the VIM.

                                  * NOTE 1: The value set of the
                                  "vimLevelResourceType" attribute is within the
                                  scope of the VIM or CISM or the resource 
                                            provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                            the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                            infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                            resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                            e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                  * NOTE 2: When the container infrastructure
                                  service management is a Kubernetes® instance
                                  the resourceId shall be 
                                            populated in the following way:
                                            - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                            per resource type.
                                            - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                            i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                            Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                            manifest.
                                            - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                            the 'metadata.name' field in Kubernetes® manifest.
                                properties:
                                  vimConnectionId:
                                    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
                                      the CISM or other resource provider. It is
                                      expected to be unique within the VIM
                                      instance.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM or the CISM or the resource provider.
                                      See note 1.
                                    type: string
                                  vimLevelAdditionalResourceInfo:
                                    description: >
                                      This type represents additional resource
                                      information which resource and resource
                                      type specific, and which is available from
                                      the VIM or the CISM or the resource
                                      provider.

                                      * NOTE: At least one attribute shall be
                                      present.
                                    type: object
                                    properties:
                                      hostName:
                                        description: >
                                          Name of the host where the resource is
                                          allocated. It shall be present for
                                          compute resources in the scope of the
                                          CISM and shall be absent otherwise. See
                                          note.
                                        type: string
                                      persistentVolume:
                                        description: >
                                          Name of the persistent volume to which
                                          the persistent volume claim representing
                                          the storage resource is bound. It may be
                                          present for storage resources in the
                                          scope of the CISM and shall be absent
                                          otherwise. See note.
                                        type: string
                                      additionalInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                  containerNamespace:
                                    description: >
                                      The value of the namespace in which the
                                      MCIO corresponding to the resource is
                                      deployed. This attribute shall be present
                                      if the resource is managed by a CISM and
                                      it shall be absent otherwise.
                                    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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  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.

                        Note: If only the value or the presence of this
                        attribute is changed in the "VirtualStorageResourceInfo"
                              structure by an LCM operation occurrence, this does not represent a change that requires
                              including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
                              notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                      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: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        storageResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        zoneId:
                          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
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  mcioInfo:
                    description: >
                      Information on the MCIO(s) representing VNFC instance(s)
                      realized by one or a set of OS containers and created from
                      the same VDU for the VNF instance.
                    type: array
                    items:
                      description: >
                        This type provides information about an MCIO
                        representing the set of VNFC instances realized by one 
                        or a set of OS containers which have been created based
                        on the same VDU. Within the CISM, an MCIO controller
                        monitors the actual state of an MCIO representing the
                        set of VNFC  instances realized by one or a set of OS
                        containers and compare it to the desired state as
                        specified  in the respective declarative descriptor. It
                        triggers actions toward the CIS to align the actual to 
                        the desired state. Monitoring the actual state includes
                        monitoring the number of MCIO instances available  at
                        any specific point in time. In addition, an MCIO
                        controller maintains properties and runtime information 
                        on the MCIO instances which have been created based on
                        the same VDU. The McioInfo data structure provides the
                        runtime information on the MCIOs obtained from the MCIO
                        controller.

                        NOTE: There are different types of MCIOs. The set of
                        VNFC instances based on the same VDU is represented 
                              by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type 
                              of MCIO, e.g. a POD.

                        Runtime information of the set of OS containers
                        realizing an individual VNFC instance is not part of
                        the  McioInfo data structure; such runtime information
                        is provided in the ResourceHandle data structure 
                        referenced from the VnfcResourceInfo. The McioInfo does
                        not provide runtime information of a constituent  VNFC
                        instance created based on a specific VDU.

                        NOTE 1: The type of MCIO as specified in the declarative
                        descriptor of the MCIO, and that can be read from 
                                the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the 
                                “kind” property of the declarative descriptor.
                        NOTE 2: If the attribute additionalInfo is present, it
                        may contain runtime information on the actual and 
                                desired state of the MCIO(s).   
                        NOTE 3: When the container infrastructure service is a
                        Kubernetes® instance, the mcioId is the combined 
                                values from the kind and name fields of the Kubernetes resource object, separated by a slash. 
                                Example: "Deployment/abcd". 
                        NOTE 4: When the container infrastructure service is a
                        Kubernetes® instance, the mcioName is the name 
                                field of the resource object.          
                      type: object
                      required:
                        - mcioId
                        - mcioName
                        - mcioNamespace
                        - vduId
                        - cismId
                        - mcioType
                        - desiredInstances
                        - availableInstances
                      properties:
                        mcioId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        mcioName:
                          description: |
                            Human readable name of this MCIO. See note 4.
                          type: string
                        mcioNamespace:
                          description: |
                            Namespace of this MCIO.
                          type: string
                        vduId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        cismId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        mcioType:
                          description: >
                            The type of MCIO. Specific values, their semantics
                            and associated MCIO types are defined in clause 
                            5.5.4.9. Additional values are also permitted. See
                            note 1.
                          type: string
                          enum:
                            - Deployment
                            - Statefulset
                        desiredInstances:
                          description: |
                            Number of desired MCIO instances.
                          type: integer
                        availableInstances:
                          description: |
                            Number of available MCIO instances.
                          type: integer
                        additionalInfo:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              _links:
                description: |
                  Links to resources related to this resource.
                type: object
                required:
                  - self
                properties:
                  self:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  indicators:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  instantiate:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  terminate:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  scale:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  scaleToLevel:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  changeFlavour:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  heal:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  operate:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  changeExtConn:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  createSnapshot:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  revertToSnapshot:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  changeCurrentVnfPkg:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
    VNFInstances.Post.422:
      description: |
        422 Unprocessable Content

        Shall be returned upon the following error: The content
        type of the message content is supported and the message
        content 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 [8],
        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 VNF package
        referenced by the "vnfdId" attribute in the
        "CreateVnfRequest" structure is not in the "ENABLED"
        state or does not exist. In this case, the "detail"
        attribute in the "ProblemDetails" structure shall convey
        more information about the erro
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    VNFInstances.Get.200:
      description: >
        200 OK


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

        The response body shall contain in an array the representations of zero
        or more VNF instances,

        as defined in clause 5.5.2.2.

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

        (if supported) or "exclude_default" URI parameters was supplied in the
        request, the data in the response

        body shall have been transformed according to the rules specified in
        clauses 5.2.2 and 5.3.2 of

        ETSI GS NFV-SOL 013, respectively.

        If the VNFM supports alternative 2 (paging) according to clause
        5.4.7.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 4.7.2.3.5.4.2.3 of ETSI GS NFV-SOL 013.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          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:
        application/json:
          schema:
            type: array
            items:
              description: "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n"
              type: object
              required:
                - id
                - vnfdId
                - vnfProvider
                - vnfProductName
                - vnfSoftwareVersion
                - vnfdVersion
                - instantiationState
                - _links
              properties:
                id:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                vnfInstanceName:
                  description: >
                    Name of the VNF instance. This attribute can be modified
                    with the PATCH method.
                  type: string
                vnfInstanceDescription:
                  description: >
                    Human-readable description of the VNF instance. This
                    attribute can be modified with the PATCH method.
                  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.
                  type: string
                vnfdVersion:
                  description: |
                    A version.
                  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
                    keyvalue pairs is represented as an object. It shall comply
                    with the provisions defined in clause 4 of IETF RFC 8259. In
                    the following example, a list of key-value pairs with four
                    keys ("aString", "aNumber", "anArray" and "anObject") is
                    provided to illustrate that the values associated with
                    different keys can be of different type.
                  type: object
                vimConnectionInfo:
                  description: >
                    Information about VIM or CISM connections to be used for
                    managing the resources for the VNF instance. The keys of the
                    map, each of which identifies information about a particular
                    VIM connection, are managed by the NFVO and referenced from
                    other data structures via the "vimConnectionId" attribute.
                    This attribute shall only be supported and present if - the
                    resources of at least of the VNFCs are managed by a VIM and
                    VNF-related resource management in direct mode is
                    applicable. - the resources of at least of the VNFCs are
                    managed by a CISM. This attribute can be modified with the
                    PATCH method. If VIM connection information is provisioned
                    to the VNFM by means outside the scope of the present
                    document, the information in the "vimConnectionInfo"
                    attribute provides necessary information for binding the
                    VnfInstance representing the "Individual VNF instance" to
                    the applicable VIM connection information used to perform
                    resource management for the VNF instance. See also the
                    definition of the "VimConnectionInfo" in clause 4.4.1.6.
                  type: object
                  additionalProperties:
                    description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                    type: object
                    required:
                      - vimType
                    properties:
                      vimId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vimType:
                        description: >
                          Discriminator for the different types of the VIM
                          information. The value of this attribute determines
                          the structure of the "interfaceInfo" and "accessInfo"
                          attributes, based on the type of the VIM., CISM, CIR
                          or MCIOP repository. The set of permitted values is
                          expected to change over time as new types or versions
                          of VIMs become available. The ETSI NFV registry of
                          VIM-related information provides access to information
                          about VimConnectionInfo definitions for various VIM,
                          CISM, CIR or MCIOP repository types. The structure of
                          the registry is defined in annex C.
                        type: string
                      interfaceInfo:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      accessInfo:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      extra:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                cirConnectionInfo:
                  description: >
                    Information about the CIR connection for managing OS
                    container images for the VNF instance. Shall be present when
                    all or part of the VNF is realized by a set of OS containers
                    and shall be absent otherwise.
                  type: object
                  additionalProperties:
                    description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                    type: object
                    required:
                      - vimType
                    properties:
                      vimId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vimType:
                        description: >
                          Discriminator for the different types of the VIM
                          information. The value of this attribute determines
                          the structure of the "interfaceInfo" and "accessInfo"
                          attributes, based on the type of the VIM., CISM, CIR
                          or MCIOP repository. The set of permitted values is
                          expected to change over time as new types or versions
                          of VIMs become available. The ETSI NFV registry of
                          VIM-related information provides access to information
                          about VimConnectionInfo definitions for various VIM,
                          CISM, CIR or MCIOP repository types. The structure of
                          the registry is defined in annex C.
                        type: string
                      interfaceInfo:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      accessInfo:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      extra:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                mciopRepositoryInfo:
                  description: >
                    Information about the MCIOP repository for the VNF instance.
                    Shall be present when all or part of the VNF is realized by
                    a set of OS containers and shall be absent otherwise. See
                    note 1.
                  type: object
                  additionalProperties:
                    description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                    type: object
                    required:
                      - vimType
                    properties:
                      vimId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vimType:
                        description: >
                          Discriminator for the different types of the VIM
                          information. The value of this attribute determines
                          the structure of the "interfaceInfo" and "accessInfo"
                          attributes, based on the type of the VIM., CISM, CIR
                          or MCIOP repository. The set of permitted values is
                          expected to change over time as new types or versions
                          of VIMs become available. The ETSI NFV registry of
                          VIM-related information provides access to information
                          about VimConnectionInfo definitions for various VIM,
                          CISM, CIR or MCIOP repository types. The structure of
                          the registry is defined in annex C.
                        type: string
                      interfaceInfo:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      accessInfo:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      extra:
                        description: >
                          This type represents a list of key-value pairs. The
                          order of the pairs in the list is not significant. In
                          JSON, a set of keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                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: |
                        An identifier that is unique within a VNF descriptor.
                      type: string
                    vnfState:
                      description: >
                        STARTED: The VNF instance is up and running. STOPPED:
                        The VNF instance has been shut down.
                      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. This attribute shall
                        be present if the VNF supports scaling. See clause B.2
                        for an explanation of VNF scaling.
                      type: array
                      items:
                        description: >
                          This type represents the scale level of a VNF instance
                          related to a scaling aspect.
                        type: object
                        required:
                          - aspectId
                          - scaleLevel
                        properties:
                          aspectId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          scaleToLevel:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                    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:
                        description: >
                          This type represents the scale level of a VNF instance
                          related to a scaling aspect.
                        type: object
                        required:
                          - aspectId
                          - scaleLevel
                        properties:
                          aspectId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          scaleToLevel:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                    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.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n        \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n        attachment definition resource is needed to fulfil the connectivity requirements of the external \n        CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n"
                        type: object
                        required:
                          - id
                          - cpdId
                          - cpConfigId
                          - cpProtocolInfo
                        oneOf:
                          - required:
                              - associatedVnfcCpId
                          - required:
                              - associatedVipCpId
                          - 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: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          cpConfigId:
                            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
                          cpProtocolInfo:
                            description: |
                              Network protocol information for this CP.
                            type: array
                            items:
                              description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                              type: object
                              required:
                                - layerProtocol
                              properties:
                                layerProtocol:
                                  description: >
                                    The identifier of layer(s) and protocol(s)
                                    associated to the network address
                                    information.

                                    Permitted values:
                                      - IP_OVER_ETHERNET
                                      - IP_FOR_VIRTUAL_CP
                                    See note.
                                  type: string
                                  enum:
                                    - IP_OVER_ETHERNET
                                    - IP_FOR_VIRTUAL_CP
                                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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                        notes 3 and 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. 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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                virtualCpAddress:
                                  description: >
                                    This type represents information about a
                                    network address that has been assigned to a
                                    virtual CP.
                                  type: object
                                  required:
                                    - type
                                  properties:
                                    type:
                                      description: >
                                        The type of the IP addresses. Permitted
                                        values: - IPV4 - IPV6
                                      type: string
                                      enum:
                                        - IPV4
                                        - IPV6
                                    loadBalancerIp:
                                      description: >
                                        An IPV4 or IPV6 address. Representation:
                                        In case of an IPV4 address, string that
                                        consists of four decimal integers
                                        separated by dots, each integer ranging
                                        from 0 to 255. In case of an IPV6
                                        address, string that consists of groups
                                        of zero to four hexadecimal digits,
                                        separated by colons.
                                      type: string
                                      format: IP
                                    addressPoolName:
                                      description: >
                                        Name of an address pool from which an IP
                                        address is assigned to the virtual CP.
                                      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 keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                          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
                          associatedVirtualCpId:
                            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
                          netAttDefResourceId:
                            description: >
                              Identifier of the “NetAttDefResourceInfo”
                              structure that provides the specification of the
                              interface to attach the connection point to a
                              secondary container cluster network. See notes 3
                              and 4.

                              It shall be present if the external CP is
                              associated to a VNFC realized by one or a set of
                              OS containers and is connected to a secondary
                              container cluster network. It shall not be present
                              otherwise.
                            type: array
                            items:
                              description: >
                                An identifier with the intention of being
                                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
                      minItems: 1
                      items:
                        description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n"
                        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: >
                              An identifier that is unique within a VNF
                              descriptor.
                            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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                              type: object
                              required:
                                - layerProtocol
                              properties:
                                layerProtocol:
                                  description: >
                                    The identifier of layer(s) and protocol(s)
                                    associated to the network address
                                    information.

                                    Permitted values:
                                      - IP_OVER_ETHERNET
                                      - IP_FOR_VIRTUAL_CP
                                    See note.
                                  type: string
                                  enum:
                                    - IP_OVER_ETHERNET
                                    - IP_FOR_VIRTUAL_CP
                                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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                        notes 3 and 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. 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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                virtualCpAddress:
                                  description: >
                                    This type represents information about a
                                    network address that has been assigned to a
                                    virtual CP.
                                  type: object
                                  required:
                                    - type
                                  properties:
                                    type:
                                      description: >
                                        The type of the IP addresses. Permitted
                                        values: - IPV4 - IPV6
                                      type: string
                                      enum:
                                        - IPV4
                                        - IPV6
                                    loadBalancerIp:
                                      description: >
                                        An IPV4 or IPV6 address. Representation:
                                        In case of an IPV4 address, string that
                                        consists of four decimal integers
                                        separated by dots, each integer ranging
                                        from 0 to 255. In case of an IPV6
                                        address, string that consists of groups
                                        of zero to four hexadecimal digits,
                                        separated by colons.
                                      type: string
                                      format: IP
                                    addressPoolName:
                                      description: >
                                        Name of an address pool from which an IP
                                        address is assigned to the virtual CP.
                                      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: >
                              This type represents a list of key-value pairs.
                              The order of the pairs in the list is not
                              significant. In JSON, a set of keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                    virtualCpInfo:
                      description: >
                        Virtual CPs that are part of the VNF instance. Shall be
                        present when a particular Virtual CP is associated to an
                        external CP of the VNF instance. May be present
                        otherwise.
                      type: array
                      items:
                        description: >
                          This type provides information related to a virtual CP
                          instance of a VNF.

                          NOTE: A consumer of the VNF LCM interface can learn
                          the actual VNFC instances implementing the service 
                                accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" 
                                and filtering by corresponding "vduIds" values.
                        type: object
                        required:
                          - cpInstanceId
                          - cpdId
                          - resourceHandle
                          - vduIds
                        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: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                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 each layer protocol
                              supported.
                            type: array
                            items:
                              description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                              type: object
                              required:
                                - layerProtocol
                              properties:
                                layerProtocol:
                                  description: >
                                    The identifier of layer(s) and protocol(s)
                                    associated to the network address
                                    information.

                                    Permitted values:
                                      - IP_OVER_ETHERNET
                                      - IP_FOR_VIRTUAL_CP
                                    See note.
                                  type: string
                                  enum:
                                    - IP_OVER_ETHERNET
                                    - IP_FOR_VIRTUAL_CP
                                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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                        notes 3 and 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. 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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                virtualCpAddress:
                                  description: >
                                    This type represents information about a
                                    network address that has been assigned to a
                                    virtual CP.
                                  type: object
                                  required:
                                    - type
                                  properties:
                                    type:
                                      description: >
                                        The type of the IP addresses. Permitted
                                        values: - IPV4 - IPV6
                                      type: string
                                      enum:
                                        - IPV4
                                        - IPV6
                                    loadBalancerIp:
                                      description: >
                                        An IPV4 or IPV6 address. Representation:
                                        In case of an IPV4 address, string that
                                        consists of four decimal integers
                                        separated by dots, each integer ranging
                                        from 0 to 255. In case of an IPV6
                                        address, string that consists of groups
                                        of zero to four hexadecimal digits,
                                        separated by colons.
                                      type: string
                                      format: IP
                                    addressPoolName:
                                      description: >
                                        Name of an address pool from which an IP
                                        address is assigned to the virtual CP.
                                      type: string
                          vduIds:
                            description: >
                              Reference to the VDU(s) which implement the
                              service accessible via the virtual CP instance.
                              See note.
                            type: array
                            minItems: 1
                            items:
                              description: >
                                An identifier that is unique within a VNF
                                descriptor.
                              type: string
                          additionalServiceInfo:
                            description: >
                              Additional service identification information of
                              the virtual CP instance.
                            type: array
                            items:
                              description: >
                                This type provides additional service
                                information of the virtual CP instance used to
                                expose properties of the  virtual CP to
                                NFV-MANO.

                                NOTE: This attribute shall only be present if
                                additional information is needed to identify the
                                service 
                                      termination within the VNF, such as for example a URL path information in an HTTP request required 
                                      to allow a single virtual CP IP address to be used for several HTTP based services that use the 
                                      same port number.
                              type: object
                              required:
                                - portInfo
                              properties:
                                portInfo:
                                  description: >
                                    Service port numbers exposed by the virtual
                                    CP instance.
                                  minItems: 1
                                  type: array
                                  items:
                                    description: >
                                      This type describes the service
                                      identifying port properties exposed by the
                                      virtual CP instance.
                                    type: object
                                    required:
                                      - name
                                      - port
                                      - portConfigurable
                                    properties:
                                      name:
                                        description: >
                                          The name of the port exposed by the
                                          virtual CP instance.
                                        type: string
                                      protocol:
                                        description: >
                                          The L4 protocol for this port exposed by
                                          the virtual CP instance.

                                          Permitted values: - TCP - UDP - SCTP
                                        type: string
                                        enum:
                                          - TCP
                                          - UDP
                                          - SCTP
                                      port:
                                        description: >
                                          The L4 port number exposed by the
                                          virtual CP instance.
                                        type: integer
                                      portConfigurable:
                                        description: >
                                          The Boolean is a data type having two
                                          values (true and false).
                                        type: boolean
                                serviceInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          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 keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                    extVirtualLinkInfo:
                      description: >
                        Information about the external VLs the VNF instance is
                        connected to.
                      type: array
                      items:
                        description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                        type: object
                        required:
                          - id
                          - resourceHandle
                          - currentVnfExtCpData
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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 the
                                    CISM or other resource provider. It is
                                    expected to be unique within the VIM
                                    instance.
                                  type: string
                          currentVnfExtCpData:
                            description: >
                              Allows the API consumer to read the current CP
                              configuration information for the connection of
                              external CPs  to the external virtual link. See
                              note.
                            type: array
                            items:
                              description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                              type: object
                              required:
                                - cpdId
                              properties:
                                cpdId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  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 NFVO. The entries shall be
                                    applied by the VNFM according to the rules
                                    of JSON Merge Patch (see IETF RFC 7396). See
                                    notes 2, 3 and 4.
                                  type: object
                                  additionalProperties:
                                    description: >
                                      This type represents an externally
                                      provided link port, or a network
                                      attachment definition resource of
                                      secondary container cluster network, or
                                      network address information per instance
                                      of an external connection point. In the
                                      case of VM-based deployment of the VNFC
                                      exposing the external CP:
                                        1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                            external VL.
                                        2.  In case 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.
                                      In the case of container-based deployment
                                      of the VNFC exposing the external CP, the
                                      VNFM shall use the network attachment
                                      definition resource of secondary container
                                      cluster network when connecting the CP to
                                      the external VL.

                                      * NOTE 1: The following conditions apply
                                      to the attributes "linkPortId" and
                                      "cpProtocolData" for an external CP
                                                instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                                1) Void.
                                                2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                                representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                                corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                                external CP instance that is to be re-configured or added to a particular external virtual link.
                                                3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                                4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                                precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                                pre-configured address information for the connection point from the resource representing the link port.
                                                5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                                cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                      * NOTE 2: The following conditions apply
                                      to the attributes “netAttDefResourceId”
                                      and “cpProtocolData” for an external CP
                                                instance connected or to be connected to a secondary container cluster network:
                                                1) Void.
                                                2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                                a to-be-created external CP instance or an existing external CP instance.
                                      * NOTE 3: Cardinality greater than 1 is
                                      only applicable for specific cases where
                                      more than one network attachment
                                                definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                                redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                                to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                                "NetAttDefResourceData".
                                      * NOTE 4: Either linkPortId or
                                      netAttDefResourceId may be included, but
                                      not both.
                                    anyOf:
                                      - required:
                                          - linkPortId
                                      - required:
                                          - cpProtocolData
                                      - required:
                                          - netAttDefResourceId
                                    type: object
                                    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 to the VNFM the need to create
                                          a dedicated link port for the external
                                          CP. If set to True, the VNFM shall
                                          create a link port. If set to False, the
                                          VNFM shall not create a link port. 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
                                      netAttDefResourceId:
                                        description: >
                                          Identifier of the
                                          “NetAttDefResourceData” structure that
                                          provides the specification of the
                                          interface to attach the external CP to a
                                          secondary container cluster network. It
                                          is only applicable if the external CP is
                                          connected or to be connected to a
                                          secondary container cluster network. It
                                          shall not be present if the external CP
                                          is related to a virtual network not
                                          categorized as secondary container
                                          cluster network. See notes 2, 3 and 4.
                                        type: array
                                        items:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                      cpProtocolData:
                                        description: >
                                          Parameters for configuring the network
                                          protocols on the link port that connects
                                          the CP to a VL. See notes 1 and 2.
                                        type: array
                                        items:
                                          description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                          type: object
                                          required:
                                            - layerProtocol
                                          properties:
                                            layerProtocol:
                                              description: >
                                                Identifier of layer(s) and protocol(s).
                                                Permitted values:
                                                  - IP_OVER_ETHERNET.
                                                  - IP_FOR_VIRTUAL_CP
                                                See note
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                                - IP_FOR_VIRTUAL_CP
                                            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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                                segmentationType:
                                                  description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                      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. 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
                                                          the CISM or other resource provider. It
                                                          is expected to be unique within the VIM
                                                          instance.
                                                        type: string
                                            virtualCpAddress:
                                              description: >
                                                This type represents network address
                                                data for a virtual CP.

                                                * NOTE 1: If the container cluster is
                                                set up to be able to configure an
                                                external load balancer this address will
                                                be used,
                                                          otherwise it will be ignored by the CISM.
                                                * NOTE 2: In case the cluster can
                                                configure an external load balancer but
                                                no loadBalancerIp is provided the
                                                container
                                                          cluster will assign an IP address.
                                                * NOTE 3: The attribute is only relevant
                                                if the virtual CP is instantiated in a
                                                cluster that supports configuration of
                                                IP
                                                          address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                          Kubernetes® that supports configuration of address pools for load balancer services.
                                                * NOTE 4: The loadBalancerIp and the
                                                addressPoolName attributes shall not be
                                                present at the same
                                                time.                
                                              type: object
                                              required:
                                                - type
                                              properties:
                                                type:
                                                  description: >
                                                    The type of the IP addresses. Permitted
                                                    values: IPV4, IPV6.
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                loadBalancerIp:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                addressPoolName:
                                                  description: >
                                                    Name of an address pool from which the
                                                    container cluster will assign an IP
                                                    address to the virtual CP. See notes 3
                                                    and 4.
                                                  type: string
                          extNetAttDefResource:
                            description: >
                              Network attachment definition resources that
                              provide the specification of the interface to
                              attach connection points  to this VL.
                            type: array
                            items:
                              description: >
                                This type contains information related to a
                                network attachment definition resource that
                                provides the  specification of the interface
                                used to connect one or multiple connection
                                points to a secondary container  cluster
                                network.
                              type: object
                              required:
                                - netAttDefResourceInfoId
                                - netAttDefResource
                              properties:
                                netAttDefResourceInfoId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                netAttDefResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                associatedExtCpId:
                                  description: >
                                    Identifier of the external CP associated to
                                    this network attachment definition resource.
                                    Shall be present  when the network
                                    attachment definition resource is used for
                                    external connectivity by the VNF.
                                  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
                                associatedVnfcCpId:
                                  description: >
                                    Identifier of the VNFC CP associated to this
                                    network attachment definition resource. May
                                    be present when  the network attachment
                                    definition resource is used for internal
                                    connectivity by the VNF.
                                  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
                    extManagedVirtualLinkInfo:
                      description: >
                        Information about the externally-managed internal VLs of
                        the VNF instance. See notes 5 and 6.
                      type: array
                      items:
                        type: object
                        required:
                          - id
                          - vnfVirtualLinkDescId
                          - networkResource
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vnfVirtualLinkDescId:
                            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
                          networkResource:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          vnfLinkPorts:
                            description: |
                              Link ports of this VL.
                            type: array
                            items:
                              description: >
                                This type represents a link port of an internal
                                VL of a VNF.

                                NOTE 1: Either 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.
                                NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                provides examples for configurations where both
                                vipCpInstanceId
                                        and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                        only vipCpInstanceId is present (UC6 and UC#6-b).
                                NOTE 3: The value of "trunkResourceId" is scoped
                                by the value of "vimConnectionId" in the
                                "resourceHandle"
                                        attribute.
                              type: object
                              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:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                  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 the
                                    CISM or other resource provider. It is
                                    expected to be unique within the VIM
                                    instance.
                                  type: string
                          vnfNetAttDefResource:
                            description: >
                              Network attachment definition resources that
                              provide the specification of the interface to
                              attach connection points to this VL.
                            type: array
                            items:
                              description: >
                                This type contains information related to a
                                network attachment definition resource that
                                provides the  specification of the interface
                                used to connect one or multiple connection
                                points to a secondary container  cluster
                                network.
                              type: object
                              required:
                                - netAttDefResourceInfoId
                                - netAttDefResource
                              properties:
                                netAttDefResourceInfoId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                netAttDefResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                associatedExtCpId:
                                  description: >
                                    Identifier of the external CP associated to
                                    this network attachment definition resource.
                                    Shall be present  when the network
                                    attachment definition resource is used for
                                    external connectivity by the VNF.
                                  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
                                associatedVnfcCpId:
                                  description: >
                                    Identifier of the VNFC CP associated to this
                                    network attachment definition resource. May
                                    be present when  the network attachment
                                    definition resource is used for internal
                                    connectivity by the VNF.
                                  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
                          extManagedMultisiteVirtualLinkId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                    monitoringParameters:
                      description: |
                        Active monitoring parameters.
                      type: array
                      items:
                        type: object
                        required:
                          - id
                          - performanceMetric
                        properties:
                          id:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            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. Depending on the form of virtualisation container of the VNFC:\n  - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n  - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure of\n    information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n  a) For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n  b) For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n        TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n        internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n        CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n        external CP information.\nNOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\"\n        structure by an LCM operation occurrence, this does not represent a change that requires\n        including a related \"AffectedVnfc\" structure in the VNF LCM operation occurrence notifications\n        or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\nNOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n        definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build a link\n        redundant mated pair in SR-IOV cases.\nNOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\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
                          vduId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          computeResource:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          zoneId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          storageResourceIds:
                            description: >
                              References to the VirtualStorage resources or
                              references to Storage MCIOs. The value refers to a
                              VirtualStorageResourceInfo item in the
                              VnfInstance.
                            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
                          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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            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
                                parentCpId:
                                  description: >
                                    An identifier that is unique for the
                                    respective type within a VNF instance, but
                                    may not be globally unique.
                                  type: string
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceInfo”
                                    structure that provides the specification of
                                    the interface to attach the connection point
                                    to a secondary container cluster network.
                                    See notes 5 and 6. It shall be present if
                                    the internal CP is associated to a VNFC
                                    realized by one or a set of OS containers
                                    and is connected to a secondary container
                                    cluster network. It shall not be present
                                    otherwise.
                                  type: array
                                  items:
                                    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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          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 keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                    vnfVirtualLinkResourceInfo:
                      description: >
                        Information about the virtualised network resources used
                        by the VLs of the VNF instance. See note 6.
                      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.

                          Note: If only the value or the presence of this
                          attribute is changed in the
                          "VnfVirtualLinkResourceInfo"
                                structure by an LCM operation occurrence, this does not represent a change that requires including
                                a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
                                "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                        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
                          vnfVirtualLinkDescId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          networkResource:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          zoneId:
                            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
                          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:
                              description: >
                                This type represents a link port of an internal
                                VL of a VNF.

                                NOTE 1: Either 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.
                                NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                provides examples for configurations where both
                                vipCpInstanceId
                                        and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                        only vipCpInstanceId is present (UC6 and UC#6-b).
                                NOTE 3: The value of "trunkResourceId" is scoped
                                by the value of "vimConnectionId" in the
                                "resourceHandle"
                                        attribute.
                              type: object
                              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:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                  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 the
                                    CISM or other resource provider. It is
                                    expected to be unique within the VIM
                                    instance.
                                  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 keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                    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.

                          Note: If only the value or the presence of this
                          attribute is changed in the
                          "VirtualStorageResourceInfo"
                                structure by an LCM operation occurrence, this does not represent a change that requires
                                including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
                                notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                        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: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          storageResource:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          zoneId:
                            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
                          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 keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                    mcioInfo:
                      description: >
                        Information on the MCIO(s) representing VNFC instance(s)
                        realized by one or a set of OS containers and created
                        from the same VDU for the VNF instance.
                      type: array
                      items:
                        description: >
                          This type provides information about an MCIO
                          representing the set of VNFC instances realized by
                          one  or a set of OS containers which have been created
                          based on the same VDU. Within the CISM, an MCIO
                          controller monitors the actual state of an MCIO
                          representing the set of VNFC  instances realized by
                          one or a set of OS containers and compare it to the
                          desired state as specified  in the respective
                          declarative descriptor. It triggers actions toward the
                          CIS to align the actual to  the desired state.
                          Monitoring the actual state includes monitoring the
                          number of MCIO instances available  at any specific
                          point in time. In addition, an MCIO controller
                          maintains properties and runtime information  on the
                          MCIO instances which have been created based on the
                          same VDU. The McioInfo data structure provides the
                          runtime information on the MCIOs obtained from the
                          MCIO controller.

                          NOTE: There are different types of MCIOs. The set of
                          VNFC instances based on the same VDU is represented 
                                by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type 
                                of MCIO, e.g. a POD.

                          Runtime information of the set of OS containers
                          realizing an individual VNFC instance is not part of
                          the  McioInfo data structure; such runtime information
                          is provided in the ResourceHandle data structure 
                          referenced from the VnfcResourceInfo. The McioInfo
                          does not provide runtime information of a constituent 
                          VNFC instance created based on a specific VDU.

                          NOTE 1: The type of MCIO as specified in the
                          declarative descriptor of the MCIO, and that can be
                          read from 
                                  the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the 
                                  “kind” property of the declarative descriptor.
                          NOTE 2: If the attribute additionalInfo is present, it
                          may contain runtime information on the actual and 
                                  desired state of the MCIO(s).   
                          NOTE 3: When the container infrastructure service is a
                          Kubernetes® instance, the mcioId is the combined 
                                  values from the kind and name fields of the Kubernetes resource object, separated by a slash. 
                                  Example: "Deployment/abcd". 
                          NOTE 4: When the container infrastructure service is a
                          Kubernetes® instance, the mcioName is the name 
                                  field of the resource object.          
                        type: object
                        required:
                          - mcioId
                          - mcioName
                          - mcioNamespace
                          - vduId
                          - cismId
                          - mcioType
                          - desiredInstances
                          - availableInstances
                        properties:
                          mcioId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          mcioName:
                            description: |
                              Human readable name of this MCIO. See note 4.
                            type: string
                          mcioNamespace:
                            description: |
                              Namespace of this MCIO.
                            type: string
                          vduId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          cismId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          mcioType:
                            description: >
                              The type of MCIO. Specific values, their semantics
                              and associated MCIO types are defined in clause 
                              5.5.4.9. Additional values are also permitted. See
                              note 1.
                            type: string
                            enum:
                              - Deployment
                              - Statefulset
                          desiredInstances:
                            description: |
                              Number of desired MCIO instances.
                            type: integer
                          availableInstances:
                            description: |
                              Number of available MCIO instances.
                            type: integer
                          additionalInfo:
                            description: >
                              This type represents a list of key-value pairs.
                              The order of the pairs in the list is not
                              significant. In JSON, a set of keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                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
                    keyvalue pairs is represented as an object. It shall comply
                    with the provisions defined in clause 4 of IETF RFC 8259. In
                    the following example, a list of key-value pairs with four
                    keys ("aString", "aNumber", "anArray" and "anObject") is
                    provided to illustrate that the values associated with
                    different keys can be of different type.
                  type: object
                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
                    keyvalue pairs is represented as an object. It shall comply
                    with the provisions defined in clause 4 of IETF RFC 8259. In
                    the following example, a list of key-value pairs with four
                    keys ("aString", "aNumber", "anArray" and "anObject") is
                    provided to illustrate that the values associated with
                    different keys can be of different type.
                  type: object
                _links:
                  description: |
                    Links to resources related to this resource.
                  type: object
                  required:
                    - self
                  properties:
                    self:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    indicators:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    instantiate:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    terminate:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    scale:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    scaleToLevel:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    changeFlavour:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    heal:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    operate:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    changeExtConn:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    createSnapshot:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    revertToSnapshot:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    changeCurrentVnfPkg:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
    IndividualVnfInstance.Get.200:
      description: >
        200 OK


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

        The response body shall contain a representation of the VNF instance, as
        defined in clause 5.5.2.2.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        ETag:
          description: >
            Used to provide the current entity-tag for the selected resource
            representation. It can be sent in "200 OK", "201 Created" and "204
            No Content" responses.
          style: simple
          schema:
            type: string
        Last-Modified:
          description: >
            Used to provide a timestamp indicating the date and time at which
            the server believes the selected resource representation was last
            modified. It can be sent in "200 OK", "201 Created" and "204 No
            Content" responses.
          style: simple
          schema:
            type: string
            format: date-time
      content:
        application/json:
          schema:
            description: "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n"
            type: object
            required:
              - id
              - vnfdId
              - vnfProvider
              - vnfProductName
              - vnfSoftwareVersion
              - vnfdVersion
              - instantiationState
              - _links
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfInstanceName:
                description: >
                  Name of the VNF instance. This attribute can be modified with
                  the PATCH method.
                type: string
              vnfInstanceDescription:
                description: >
                  Human-readable description of the VNF instance. This attribute
                  can be modified with the PATCH method.
                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.
                type: string
              vnfdVersion:
                description: |
                  A version.
                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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              vimConnectionInfo:
                description: >
                  Information about VIM or CISM connections to be used for
                  managing the resources for the VNF instance. The keys of the
                  map, each of which identifies information about a particular
                  VIM connection, are managed by the NFVO and referenced from
                  other data structures via the "vimConnectionId" attribute.
                  This attribute shall only be supported and present if - the
                  resources of at least of the VNFCs are managed by a VIM and
                  VNF-related resource management in direct mode is applicable.
                  - the resources of at least of the VNFCs are managed by a
                  CISM. This attribute can be modified with the PATCH method. If
                  VIM connection information is provisioned to the VNFM by means
                  outside the scope of the present document, the information in
                  the "vimConnectionInfo" attribute provides necessary
                  information for binding the VnfInstance representing the
                  "Individual VNF instance" to the applicable VIM connection
                  information used to perform resource management for the VNF
                  instance. See also the definition of the "VimConnectionInfo"
                  in clause 4.4.1.6.
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
              cirConnectionInfo:
                description: >
                  Information about the CIR connection for managing OS container
                  images for the VNF instance. Shall be present when all or part
                  of the VNF is realized by a set of OS containers and shall be
                  absent otherwise.
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
              mciopRepositoryInfo:
                description: >
                  Information about the MCIOP repository for the VNF instance.
                  Shall be present when all or part of the VNF is realized by a
                  set of OS containers and shall be absent otherwise. See note
                  1.
                type: object
                additionalProperties:
                  description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                  type: object
                  required:
                    - vimType
                  properties:
                    vimId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vimType:
                      description: >
                        Discriminator for the different types of the VIM
                        information. The value of this attribute determines the
                        structure of the "interfaceInfo" and "accessInfo"
                        attributes, based on the type of the VIM., CISM, CIR or
                        MCIOP repository. The set of permitted values is
                        expected to change over time as new types or versions of
                        VIMs become available. The ETSI NFV registry of
                        VIM-related information provides access to information
                        about VimConnectionInfo definitions for various VIM,
                        CISM, CIR or MCIOP repository types. The structure of
                        the registry is defined in annex C.
                      type: string
                    interfaceInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    accessInfo:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    extra:
                      description: >
                        This type represents a list of key-value pairs. The
                        order of the pairs in the list is not significant. In
                        JSON, a set of keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
              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: |
                      An identifier that is unique within a VNF descriptor.
                    type: string
                  vnfState:
                    description: >
                      STARTED: The VNF instance is up and running. STOPPED: The
                      VNF instance has been shut down.
                    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. This attribute shall be present
                      if the VNF supports scaling. See clause B.2 for an
                      explanation of VNF scaling.
                    type: array
                    items:
                      description: >
                        This type represents the scale level of a VNF instance
                        related to a scaling aspect.
                      type: object
                      required:
                        - aspectId
                        - scaleLevel
                      properties:
                        aspectId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        scaleToLevel:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                  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:
                      description: >
                        This type represents the scale level of a VNF instance
                        related to a scaling aspect.
                      type: object
                      required:
                        - aspectId
                        - scaleLevel
                      properties:
                        aspectId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        scaleToLevel:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                  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.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n        \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n        attachment definition resource is needed to fulfil the connectivity requirements of the external \n        CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n"
                      type: object
                      required:
                        - id
                        - cpdId
                        - cpConfigId
                        - cpProtocolInfo
                      oneOf:
                        - required:
                            - associatedVnfcCpId
                        - required:
                            - associatedVipCpId
                        - 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: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        cpConfigId:
                          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
                        cpProtocolInfo:
                          description: |
                            Network protocol information for this CP.
                          type: array
                          items:
                            description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                            type: object
                            required:
                              - layerProtocol
                            properties:
                              layerProtocol:
                                description: >
                                  The identifier of layer(s) and protocol(s)
                                  associated to the network address information.

                                  Permitted values:
                                    - IP_OVER_ETHERNET
                                    - IP_FOR_VIRTUAL_CP
                                  See note.
                                type: string
                                enum:
                                  - IP_OVER_ETHERNET
                                  - IP_FOR_VIRTUAL_CP
                              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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                      notes 3 and 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. 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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          type: string
                              virtualCpAddress:
                                description: >
                                  This type represents information about a
                                  network address that has been assigned to a
                                  virtual CP.
                                type: object
                                required:
                                  - type
                                properties:
                                  type:
                                    description: >
                                      The type of the IP addresses. Permitted
                                      values: - IPV4 - IPV6
                                    type: string
                                    enum:
                                      - IPV4
                                      - IPV6
                                  loadBalancerIp:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  addressPoolName:
                                    description: >
                                      Name of an address pool from which an IP
                                      address is assigned to the virtual CP.
                                    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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        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
                        associatedVirtualCpId:
                          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
                        netAttDefResourceId:
                          description: >
                            Identifier of the “NetAttDefResourceInfo” structure
                            that provides the specification of the interface to
                            attach the connection point to a secondary container
                            cluster network. See notes 3 and 4.

                            It shall be present if the external CP is associated
                            to a VNFC realized by one or a set of OS containers
                            and is connected to a secondary container cluster
                            network. It shall not be present otherwise.
                          type: array
                          items:
                            description: >
                              An identifier with the intention of being 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
                    minItems: 1
                    items:
                      description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n"
                      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: >
                            An identifier that is unique within a VNF
                            descriptor.
                          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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                            type: object
                            required:
                              - layerProtocol
                            properties:
                              layerProtocol:
                                description: >
                                  The identifier of layer(s) and protocol(s)
                                  associated to the network address information.

                                  Permitted values:
                                    - IP_OVER_ETHERNET
                                    - IP_FOR_VIRTUAL_CP
                                  See note.
                                type: string
                                enum:
                                  - IP_OVER_ETHERNET
                                  - IP_FOR_VIRTUAL_CP
                              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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                      notes 3 and 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. 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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          type: string
                              virtualCpAddress:
                                description: >
                                  This type represents information about a
                                  network address that has been assigned to a
                                  virtual CP.
                                type: object
                                required:
                                  - type
                                properties:
                                  type:
                                    description: >
                                      The type of the IP addresses. Permitted
                                      values: - IPV4 - IPV6
                                    type: string
                                    enum:
                                      - IPV4
                                      - IPV6
                                  loadBalancerIp:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  addressPoolName:
                                    description: >
                                      Name of an address pool from which an IP
                                      address is assigned to the virtual CP.
                                    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: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  virtualCpInfo:
                    description: >
                      Virtual CPs that are part of the VNF instance. Shall be
                      present when a particular Virtual CP is associated to an
                      external CP of the VNF instance. May be present otherwise.
                    type: array
                    items:
                      description: >
                        This type provides information related to a virtual CP
                        instance of a VNF.

                        NOTE: A consumer of the VNF LCM interface can learn the
                        actual VNFC instances implementing the service 
                              accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" 
                              and filtering by corresponding "vduIds" values.
                      type: object
                      required:
                        - cpInstanceId
                        - cpdId
                        - resourceHandle
                        - vduIds
                      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: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        resourceHandle:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              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 each layer protocol supported.
                          type: array
                          items:
                            description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                            type: object
                            required:
                              - layerProtocol
                            properties:
                              layerProtocol:
                                description: >
                                  The identifier of layer(s) and protocol(s)
                                  associated to the network address information.

                                  Permitted values:
                                    - IP_OVER_ETHERNET
                                    - IP_FOR_VIRTUAL_CP
                                  See note.
                                type: string
                                enum:
                                  - IP_OVER_ETHERNET
                                  - IP_FOR_VIRTUAL_CP
                              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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                      notes 3 and 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. 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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          type: string
                              virtualCpAddress:
                                description: >
                                  This type represents information about a
                                  network address that has been assigned to a
                                  virtual CP.
                                type: object
                                required:
                                  - type
                                properties:
                                  type:
                                    description: >
                                      The type of the IP addresses. Permitted
                                      values: - IPV4 - IPV6
                                    type: string
                                    enum:
                                      - IPV4
                                      - IPV6
                                  loadBalancerIp:
                                    description: >
                                      An IPV4 or IPV6 address. Representation:
                                      In case of an IPV4 address, string that
                                      consists of four decimal integers
                                      separated by dots, each integer ranging
                                      from 0 to 255. In case of an IPV6 address,
                                      string that consists of groups of zero to
                                      four hexadecimal digits, separated by
                                      colons.
                                    type: string
                                    format: IP
                                  addressPoolName:
                                    description: >
                                      Name of an address pool from which an IP
                                      address is assigned to the virtual CP.
                                    type: string
                        vduIds:
                          description: >
                            Reference to the VDU(s) which implement the service
                            accessible via the virtual CP instance. See note.
                          type: array
                          minItems: 1
                          items:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                        additionalServiceInfo:
                          description: >
                            Additional service identification information of the
                            virtual CP instance.
                          type: array
                          items:
                            description: >
                              This type provides additional service information
                              of the virtual CP instance used to expose
                              properties of the  virtual CP to NFV-MANO.

                              NOTE: This attribute shall only be present if
                              additional information is needed to identify the
                              service 
                                    termination within the VNF, such as for example a URL path information in an HTTP request required 
                                    to allow a single virtual CP IP address to be used for several HTTP based services that use the 
                                    same port number.
                            type: object
                            required:
                              - portInfo
                            properties:
                              portInfo:
                                description: >
                                  Service port numbers exposed by the virtual CP
                                  instance.
                                minItems: 1
                                type: array
                                items:
                                  description: >
                                    This type describes the service identifying
                                    port properties exposed by the virtual CP
                                    instance.
                                  type: object
                                  required:
                                    - name
                                    - port
                                    - portConfigurable
                                  properties:
                                    name:
                                      description: >
                                        The name of the port exposed by the
                                        virtual CP instance.
                                      type: string
                                    protocol:
                                      description: >
                                        The L4 protocol for this port exposed by
                                        the virtual CP instance.

                                        Permitted values: - TCP - UDP - SCTP
                                      type: string
                                      enum:
                                        - TCP
                                        - UDP
                                        - SCTP
                                    port:
                                      description: >
                                        The L4 port number exposed by the
                                        virtual CP instance.
                                      type: integer
                                    portConfigurable:
                                      description: >
                                        The Boolean is a data type having two
                                        values (true and false).
                                      type: boolean
                              serviceInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  extVirtualLinkInfo:
                    description: >
                      Information about the external VLs the VNF instance is
                      connected to.
                    type: array
                    items:
                      description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                      type: object
                      required:
                        - id
                        - resourceHandle
                        - currentVnfExtCpData
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        resourceHandle:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                                required:
                                  - resourceId
                                type: object
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance. Information about
                                  the resource is available from the VIM.

                                  * NOTE 1: The value set of the
                                  "vimLevelResourceType" attribute is within the
                                  scope of the VIM or CISM or the resource 
                                            provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                            the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                            infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                            resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                            e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                  * NOTE 2: When the container infrastructure
                                  service management is a Kubernetes® instance
                                  the resourceId shall be 
                                            populated in the following way:
                                            - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                            per resource type.
                                            - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                            i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                            Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                            manifest.
                                            - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                            the 'metadata.name' field in Kubernetes® manifest.
                                properties:
                                  vimConnectionId:
                                    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
                                      the CISM or other resource provider. It is
                                      expected to be unique within the VIM
                                      instance.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM or the CISM or the resource provider.
                                      See note 1.
                                    type: string
                                  vimLevelAdditionalResourceInfo:
                                    description: >
                                      This type represents additional resource
                                      information which resource and resource
                                      type specific, and which is available from
                                      the VIM or the CISM or the resource
                                      provider.

                                      * NOTE: At least one attribute shall be
                                      present.
                                    type: object
                                    properties:
                                      hostName:
                                        description: >
                                          Name of the host where the resource is
                                          allocated. It shall be present for
                                          compute resources in the scope of the
                                          CISM and shall be absent otherwise. See
                                          note.
                                        type: string
                                      persistentVolume:
                                        description: >
                                          Name of the persistent volume to which
                                          the persistent volume claim representing
                                          the storage resource is bound. It may be
                                          present for storage resources in the
                                          scope of the CISM and shall be absent
                                          otherwise. See note.
                                        type: string
                                      additionalInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                  containerNamespace:
                                    description: >
                                      The value of the namespace in which the
                                      MCIO corresponding to the resource is
                                      deployed. This attribute shall be present
                                      if the resource is managed by a CISM and
                                      it shall be absent otherwise.
                                    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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                        currentVnfExtCpData:
                          description: >
                            Allows the API consumer to read the current CP
                            configuration information for the connection of
                            external CPs  to the external virtual link. See
                            note.
                          type: array
                          items:
                            description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                            type: object
                            required:
                              - cpdId
                            properties:
                              cpdId:
                                description: >
                                  An identifier that is unique within a VNF
                                  descriptor.
                                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 NFVO. The entries shall be
                                  applied by the VNFM according to the rules of
                                  JSON Merge Patch (see IETF RFC 7396). See
                                  notes 2, 3 and 4.
                                type: object
                                additionalProperties:
                                  description: >
                                    This type represents an externally provided
                                    link port, or a network attachment
                                    definition resource of secondary container
                                    cluster network, or network address
                                    information per instance of an external
                                    connection point. In the case of VM-based
                                    deployment of the VNFC exposing the external
                                    CP:
                                      1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                          external VL.
                                      2.  In case 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.
                                    In the case of container-based deployment of
                                    the VNFC exposing the external CP, the VNFM
                                    shall use the network attachment definition
                                    resource of secondary container cluster
                                    network when connecting the CP to the
                                    external VL.

                                    * NOTE 1: The following conditions apply to
                                    the attributes "linkPortId" and
                                    "cpProtocolData" for an external CP
                                              instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                              1) Void.
                                              2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                              representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                              corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                              external CP instance that is to be re-configured or added to a particular external virtual link.
                                              3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                              4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                              precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                              pre-configured address information for the connection point from the resource representing the link port.
                                              5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                              cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                    * NOTE 2: The following conditions apply to
                                    the attributes “netAttDefResourceId” and
                                    “cpProtocolData” for an external CP
                                              instance connected or to be connected to a secondary container cluster network:
                                              1) Void.
                                              2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                              a to-be-created external CP instance or an existing external CP instance.
                                    * NOTE 3: Cardinality greater than 1 is only
                                    applicable for specific cases where more
                                    than one network attachment
                                              definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                              redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                              to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                              "NetAttDefResourceData".
                                    * NOTE 4: Either linkPortId or
                                    netAttDefResourceId may be included, but not
                                    both.
                                  anyOf:
                                    - required:
                                        - linkPortId
                                    - required:
                                        - cpProtocolData
                                    - required:
                                        - netAttDefResourceId
                                  type: object
                                  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 to the VNFM the need to create
                                        a dedicated link port for the external
                                        CP. If set to True, the VNFM shall
                                        create a link port. If set to False, the
                                        VNFM shall not create a link port. 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
                                    netAttDefResourceId:
                                      description: >
                                        Identifier of the
                                        “NetAttDefResourceData” structure that
                                        provides the specification of the
                                        interface to attach the external CP to a
                                        secondary container cluster network. It
                                        is only applicable if the external CP is
                                        connected or to be connected to a
                                        secondary container cluster network. It
                                        shall not be present if the external CP
                                        is related to a virtual network not
                                        categorized as secondary container
                                        cluster network. See notes 2, 3 and 4.
                                      type: array
                                      items:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                    cpProtocolData:
                                      description: >
                                        Parameters for configuring the network
                                        protocols on the link port that connects
                                        the CP to a VL. See notes 1 and 2.
                                      type: array
                                      items:
                                        description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                        type: object
                                        required:
                                          - layerProtocol
                                        properties:
                                          layerProtocol:
                                            description: >
                                              Identifier of layer(s) and protocol(s).
                                              Permitted values:
                                                - IP_OVER_ETHERNET.
                                                - IP_FOR_VIRTUAL_CP
                                              See note
                                            type: string
                                            enum:
                                              - IP_OVER_ETHERNET
                                              - IP_FOR_VIRTUAL_CP
                                          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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                              segmentationType:
                                                description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                    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. 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
                                                        the CISM or other resource provider. It
                                                        is expected to be unique within the VIM
                                                        instance.
                                                      type: string
                                          virtualCpAddress:
                                            description: >
                                              This type represents network address
                                              data for a virtual CP.

                                              * NOTE 1: If the container cluster is
                                              set up to be able to configure an
                                              external load balancer this address will
                                              be used,
                                                        otherwise it will be ignored by the CISM.
                                              * NOTE 2: In case the cluster can
                                              configure an external load balancer but
                                              no loadBalancerIp is provided the
                                              container
                                                        cluster will assign an IP address.
                                              * NOTE 3: The attribute is only relevant
                                              if the virtual CP is instantiated in a
                                              cluster that supports configuration of
                                              IP
                                                        address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                        Kubernetes® that supports configuration of address pools for load balancer services.
                                              * NOTE 4: The loadBalancerIp and the
                                              addressPoolName attributes shall not be
                                              present at the same
                                              time.                
                                            type: object
                                            required:
                                              - type
                                            properties:
                                              type:
                                                description: >
                                                  The type of the IP addresses. Permitted
                                                  values: IPV4, IPV6.
                                                type: string
                                                enum:
                                                  - IPV4
                                                  - IPV6
                                              loadBalancerIp:
                                                description: >
                                                  An IPV4 or IPV6 address. Representation:
                                                  In case of an IPV4 address, string that
                                                  consists of four decimal integers
                                                  separated by dots, each integer ranging
                                                  from 0 to 255. In case of an IPV6
                                                  address, string that consists of groups
                                                  of zero to four hexadecimal digits,
                                                  separated by colons.
                                                type: string
                                                format: IP
                                              addressPoolName:
                                                description: >
                                                  Name of an address pool from which the
                                                  container cluster will assign an IP
                                                  address to the virtual CP. See notes 3
                                                  and 4.
                                                type: string
                        extNetAttDefResource:
                          description: >
                            Network attachment definition resources that provide
                            the specification of the interface to attach
                            connection points  to this VL.
                          type: array
                          items:
                            description: >
                              This type contains information related to a
                              network attachment definition resource that
                              provides the  specification of the interface used
                              to connect one or multiple connection points to a
                              secondary container  cluster network.
                            type: object
                            required:
                              - netAttDefResourceInfoId
                              - netAttDefResource
                            properties:
                              netAttDefResourceInfoId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              netAttDefResource:
                                required:
                                  - resourceId
                                type: object
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance. Information about
                                  the resource is available from the VIM.

                                  * NOTE 1: The value set of the
                                  "vimLevelResourceType" attribute is within the
                                  scope of the VIM or CISM or the resource 
                                            provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                            the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                            infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                            resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                            e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                  * NOTE 2: When the container infrastructure
                                  service management is a Kubernetes® instance
                                  the resourceId shall be 
                                            populated in the following way:
                                            - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                            per resource type.
                                            - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                            i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                            Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                            manifest.
                                            - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                            the 'metadata.name' field in Kubernetes® manifest.
                                properties:
                                  vimConnectionId:
                                    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
                                      the CISM or other resource provider. It is
                                      expected to be unique within the VIM
                                      instance.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM or the CISM or the resource provider.
                                      See note 1.
                                    type: string
                                  vimLevelAdditionalResourceInfo:
                                    description: >
                                      This type represents additional resource
                                      information which resource and resource
                                      type specific, and which is available from
                                      the VIM or the CISM or the resource
                                      provider.

                                      * NOTE: At least one attribute shall be
                                      present.
                                    type: object
                                    properties:
                                      hostName:
                                        description: >
                                          Name of the host where the resource is
                                          allocated. It shall be present for
                                          compute resources in the scope of the
                                          CISM and shall be absent otherwise. See
                                          note.
                                        type: string
                                      persistentVolume:
                                        description: >
                                          Name of the persistent volume to which
                                          the persistent volume claim representing
                                          the storage resource is bound. It may be
                                          present for storage resources in the
                                          scope of the CISM and shall be absent
                                          otherwise. See note.
                                        type: string
                                      additionalInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                  containerNamespace:
                                    description: >
                                      The value of the namespace in which the
                                      MCIO corresponding to the resource is
                                      deployed. This attribute shall be present
                                      if the resource is managed by a CISM and
                                      it shall be absent otherwise.
                                    type: string
                              associatedExtCpId:
                                description: >
                                  Identifier of the external CP associated to
                                  this network attachment definition resource.
                                  Shall be present  when the network attachment
                                  definition resource is used for external
                                  connectivity by the VNF.
                                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
                              associatedVnfcCpId:
                                description: >
                                  Identifier of the VNFC CP associated to this
                                  network attachment definition resource. May be
                                  present when  the network attachment
                                  definition resource is used for internal
                                  connectivity by the VNF.
                                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
                  extManagedVirtualLinkInfo:
                    description: >
                      Information about the externally-managed internal VLs of
                      the VNF instance. See notes 5 and 6.
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - vnfVirtualLinkDescId
                        - networkResource
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfVirtualLinkDescId:
                          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
                        networkResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        vnfLinkPorts:
                          description: |
                            Link ports of this VL.
                          type: array
                          items:
                            description: >
                              This type represents a link port of an internal VL
                              of a VNF.

                              NOTE 1: Either 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.
                              NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides
                              examples for configurations where both
                              vipCpInstanceId
                                      and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                      only vipCpInstanceId is present (UC6 and UC#6-b).
                              NOTE 3: The value of "trunkResourceId" is scoped
                              by the value of "vimConnectionId" in the
                              "resourceHandle"
                                      attribute.
                            type: object
                            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:
                                required:
                                  - resourceId
                                type: object
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance. Information about
                                  the resource is available from the VIM.

                                  * NOTE 1: The value set of the
                                  "vimLevelResourceType" attribute is within the
                                  scope of the VIM or CISM or the resource 
                                            provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                            the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                            infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                            resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                            e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                  * NOTE 2: When the container infrastructure
                                  service management is a Kubernetes® instance
                                  the resourceId shall be 
                                            populated in the following way:
                                            - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                            per resource type.
                                            - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                            i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                            Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                            manifest.
                                            - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                            the 'metadata.name' field in Kubernetes® manifest.
                                properties:
                                  vimConnectionId:
                                    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
                                      the CISM or other resource provider. It is
                                      expected to be unique within the VIM
                                      instance.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM or the CISM or the resource provider.
                                      See note 1.
                                    type: string
                                  vimLevelAdditionalResourceInfo:
                                    description: >
                                      This type represents additional resource
                                      information which resource and resource
                                      type specific, and which is available from
                                      the VIM or the CISM or the resource
                                      provider.

                                      * NOTE: At least one attribute shall be
                                      present.
                                    type: object
                                    properties:
                                      hostName:
                                        description: >
                                          Name of the host where the resource is
                                          allocated. It shall be present for
                                          compute resources in the scope of the
                                          CISM and shall be absent otherwise. See
                                          note.
                                        type: string
                                      persistentVolume:
                                        description: >
                                          Name of the persistent volume to which
                                          the persistent volume claim representing
                                          the storage resource is bound. It may be
                                          present for storage resources in the
                                          scope of the CISM and shall be absent
                                          otherwise. See note.
                                        type: string
                                      additionalInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                  containerNamespace:
                                    description: >
                                      The value of the namespace in which the
                                      MCIO corresponding to the resource is
                                      deployed. This attribute shall be present
                                      if the resource is managed by a CISM and
                                      it shall be absent otherwise.
                                    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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                        vnfNetAttDefResource:
                          description: >
                            Network attachment definition resources that provide
                            the specification of the interface to attach
                            connection points to this VL.
                          type: array
                          items:
                            description: >
                              This type contains information related to a
                              network attachment definition resource that
                              provides the  specification of the interface used
                              to connect one or multiple connection points to a
                              secondary container  cluster network.
                            type: object
                            required:
                              - netAttDefResourceInfoId
                              - netAttDefResource
                            properties:
                              netAttDefResourceInfoId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              netAttDefResource:
                                required:
                                  - resourceId
                                type: object
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance. Information about
                                  the resource is available from the VIM.

                                  * NOTE 1: The value set of the
                                  "vimLevelResourceType" attribute is within the
                                  scope of the VIM or CISM or the resource 
                                            provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                            the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                            infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                            resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                            e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                  * NOTE 2: When the container infrastructure
                                  service management is a Kubernetes® instance
                                  the resourceId shall be 
                                            populated in the following way:
                                            - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                            per resource type.
                                            - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                            i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                            Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                            manifest.
                                            - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                            the 'metadata.name' field in Kubernetes® manifest.
                                properties:
                                  vimConnectionId:
                                    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
                                      the CISM or other resource provider. It is
                                      expected to be unique within the VIM
                                      instance.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM or the CISM or the resource provider.
                                      See note 1.
                                    type: string
                                  vimLevelAdditionalResourceInfo:
                                    description: >
                                      This type represents additional resource
                                      information which resource and resource
                                      type specific, and which is available from
                                      the VIM or the CISM or the resource
                                      provider.

                                      * NOTE: At least one attribute shall be
                                      present.
                                    type: object
                                    properties:
                                      hostName:
                                        description: >
                                          Name of the host where the resource is
                                          allocated. It shall be present for
                                          compute resources in the scope of the
                                          CISM and shall be absent otherwise. See
                                          note.
                                        type: string
                                      persistentVolume:
                                        description: >
                                          Name of the persistent volume to which
                                          the persistent volume claim representing
                                          the storage resource is bound. It may be
                                          present for storage resources in the
                                          scope of the CISM and shall be absent
                                          otherwise. See note.
                                        type: string
                                      additionalInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                  containerNamespace:
                                    description: >
                                      The value of the namespace in which the
                                      MCIO corresponding to the resource is
                                      deployed. This attribute shall be present
                                      if the resource is managed by a CISM and
                                      it shall be absent otherwise.
                                    type: string
                              associatedExtCpId:
                                description: >
                                  Identifier of the external CP associated to
                                  this network attachment definition resource.
                                  Shall be present  when the network attachment
                                  definition resource is used for external
                                  connectivity by the VNF.
                                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
                              associatedVnfcCpId:
                                description: >
                                  Identifier of the VNFC CP associated to this
                                  network attachment definition resource. May be
                                  present when  the network attachment
                                  definition resource is used for internal
                                  connectivity by the VNF.
                                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
                        extManagedMultisiteVirtualLinkId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                  monitoringParameters:
                    description: |
                      Active monitoring parameters.
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - performanceMetric
                      properties:
                        id:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          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. Depending on the form of virtualisation container of the VNFC:\n  - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n  - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure of\n    information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n  a) For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n  b) For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n        TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n        internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n        CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n        external CP information.\nNOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\"\n        structure by an LCM operation occurrence, this does not represent a change that requires\n        including a related \"AffectedVnfc\" structure in the VNF LCM operation occurrence notifications\n        or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\nNOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n        definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build a link\n        redundant mated pair in SR-IOV cases.\nNOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\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
                        vduId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        computeResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        zoneId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        storageResourceIds:
                          description: >
                            References to the VirtualStorage resources or
                            references to Storage MCIOs. The value refers to a
                            VirtualStorageResourceInfo item in the VnfInstance.
                          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
                        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: >
                                  An identifier that is unique within a VNF
                                  descriptor.
                                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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                  type: object
                                  required:
                                    - layerProtocol
                                  properties:
                                    layerProtocol:
                                      description: >
                                        The identifier of layer(s) and
                                        protocol(s) associated to the network
                                        address information.

                                        Permitted values:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                        See note.
                                      type: string
                                      enum:
                                        - IP_OVER_ETHERNET
                                        - IP_FOR_VIRTUAL_CP
                                    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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                            notes 3 and 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. 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
                                                  the CISM or other resource provider. It
                                                  is expected to be unique within the VIM
                                                  instance.
                                                type: string
                                    virtualCpAddress:
                                      description: >
                                        This type represents information about a
                                        network address that has been assigned
                                        to a virtual CP.
                                      type: object
                                      required:
                                        - type
                                      properties:
                                        type:
                                          description: >
                                            The type of the IP addresses. Permitted
                                            values: - IPV4 - IPV6
                                          type: string
                                          enum:
                                            - IPV4
                                            - IPV6
                                        loadBalancerIp:
                                          description: >
                                            An IPV4 or IPV6 address. Representation:
                                            In case of an IPV4 address, string that
                                            consists of four decimal integers
                                            separated by dots, each integer ranging
                                            from 0 to 255. In case of an IPV6
                                            address, string that consists of groups
                                            of zero to four hexadecimal digits,
                                            separated by colons.
                                          type: string
                                          format: IP
                                        addressPoolName:
                                          description: >
                                            Name of an address pool from which an IP
                                            address is assigned to the virtual CP.
                                          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
                              parentCpId:
                                description: >
                                  An identifier that is unique for the
                                  respective type within a VNF instance, but may
                                  not be globally unique.
                                type: string
                              netAttDefResourceId:
                                description: >
                                  Identifier of the “NetAttDefResourceInfo”
                                  structure that provides the specification of
                                  the interface to attach the connection point
                                  to a secondary container cluster network. See
                                  notes 5 and 6. It shall be present if the
                                  internal CP is associated to a VNFC realized
                                  by one or a set of OS containers and is
                                  connected to a secondary container cluster
                                  network. It shall not be present otherwise.
                                type: array
                                items:
                                  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 keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  vnfVirtualLinkResourceInfo:
                    description: >
                      Information about the virtualised network resources used
                      by the VLs of the VNF instance. See note 6.
                    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.

                        Note: If only the value or the presence of this
                        attribute is changed in the "VnfVirtualLinkResourceInfo"
                              structure by an LCM operation occurrence, this does not represent a change that requires including
                              a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
                              "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                      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
                        vnfVirtualLinkDescId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        networkResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        zoneId:
                          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
                        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:
                            description: >
                              This type represents a link port of an internal VL
                              of a VNF.

                              NOTE 1: Either 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.
                              NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides
                              examples for configurations where both
                              vipCpInstanceId
                                      and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                      only vipCpInstanceId is present (UC6 and UC#6-b).
                              NOTE 3: The value of "trunkResourceId" is scoped
                              by the value of "vimConnectionId" in the
                              "resourceHandle"
                                      attribute.
                            type: object
                            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:
                                required:
                                  - resourceId
                                type: object
                                description: >
                                  This type represents the information that
                                  allows addressing a virtualised resource that
                                  is used by a VNF instance. Information about
                                  the resource is available from the VIM.

                                  * NOTE 1: The value set of the
                                  "vimLevelResourceType" attribute is within the
                                  scope of the VIM or CISM or the resource 
                                            provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                            the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                            infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                            resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                            e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                  * NOTE 2: When the container infrastructure
                                  service management is a Kubernetes® instance
                                  the resourceId shall be 
                                            populated in the following way:
                                            - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                            per resource type.
                                            - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                            i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                            Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                            manifest.
                                            - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                            the 'metadata.name' field in Kubernetes® manifest.
                                properties:
                                  vimConnectionId:
                                    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
                                      the CISM or other resource provider. It is
                                      expected to be unique within the VIM
                                      instance.
                                    type: string
                                  vimLevelResourceType:
                                    description: >
                                      Type of the resource in the scope of the
                                      VIM or the CISM or the resource provider.
                                      See note 1.
                                    type: string
                                  vimLevelAdditionalResourceInfo:
                                    description: >
                                      This type represents additional resource
                                      information which resource and resource
                                      type specific, and which is available from
                                      the VIM or the CISM or the resource
                                      provider.

                                      * NOTE: At least one attribute shall be
                                      present.
                                    type: object
                                    properties:
                                      hostName:
                                        description: >
                                          Name of the host where the resource is
                                          allocated. It shall be present for
                                          compute resources in the scope of the
                                          CISM and shall be absent otherwise. See
                                          note.
                                        type: string
                                      persistentVolume:
                                        description: >
                                          Name of the persistent volume to which
                                          the persistent volume claim representing
                                          the storage resource is bound. It may be
                                          present for storage resources in the
                                          scope of the CISM and shall be absent
                                          otherwise. See note.
                                        type: string
                                      additionalInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                  containerNamespace:
                                    description: >
                                      The value of the namespace in which the
                                      MCIO corresponding to the resource is
                                      deployed. This attribute shall be present
                                      if the resource is managed by a CISM and
                                      it shall be absent otherwise.
                                    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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  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.

                        Note: If only the value or the presence of this
                        attribute is changed in the "VirtualStorageResourceInfo"
                              structure by an LCM operation occurrence, this does not represent a change that requires
                              including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
                              notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                      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: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        storageResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        zoneId:
                          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
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  mcioInfo:
                    description: >
                      Information on the MCIO(s) representing VNFC instance(s)
                      realized by one or a set of OS containers and created from
                      the same VDU for the VNF instance.
                    type: array
                    items:
                      description: >
                        This type provides information about an MCIO
                        representing the set of VNFC instances realized by one 
                        or a set of OS containers which have been created based
                        on the same VDU. Within the CISM, an MCIO controller
                        monitors the actual state of an MCIO representing the
                        set of VNFC  instances realized by one or a set of OS
                        containers and compare it to the desired state as
                        specified  in the respective declarative descriptor. It
                        triggers actions toward the CIS to align the actual to 
                        the desired state. Monitoring the actual state includes
                        monitoring the number of MCIO instances available  at
                        any specific point in time. In addition, an MCIO
                        controller maintains properties and runtime information 
                        on the MCIO instances which have been created based on
                        the same VDU. The McioInfo data structure provides the
                        runtime information on the MCIOs obtained from the MCIO
                        controller.

                        NOTE: There are different types of MCIOs. The set of
                        VNFC instances based on the same VDU is represented 
                              by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type 
                              of MCIO, e.g. a POD.

                        Runtime information of the set of OS containers
                        realizing an individual VNFC instance is not part of
                        the  McioInfo data structure; such runtime information
                        is provided in the ResourceHandle data structure 
                        referenced from the VnfcResourceInfo. The McioInfo does
                        not provide runtime information of a constituent  VNFC
                        instance created based on a specific VDU.

                        NOTE 1: The type of MCIO as specified in the declarative
                        descriptor of the MCIO, and that can be read from 
                                the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the 
                                “kind” property of the declarative descriptor.
                        NOTE 2: If the attribute additionalInfo is present, it
                        may contain runtime information on the actual and 
                                desired state of the MCIO(s).   
                        NOTE 3: When the container infrastructure service is a
                        Kubernetes® instance, the mcioId is the combined 
                                values from the kind and name fields of the Kubernetes resource object, separated by a slash. 
                                Example: "Deployment/abcd". 
                        NOTE 4: When the container infrastructure service is a
                        Kubernetes® instance, the mcioName is the name 
                                field of the resource object.          
                      type: object
                      required:
                        - mcioId
                        - mcioName
                        - mcioNamespace
                        - vduId
                        - cismId
                        - mcioType
                        - desiredInstances
                        - availableInstances
                      properties:
                        mcioId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        mcioName:
                          description: |
                            Human readable name of this MCIO. See note 4.
                          type: string
                        mcioNamespace:
                          description: |
                            Namespace of this MCIO.
                          type: string
                        vduId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        cismId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        mcioType:
                          description: >
                            The type of MCIO. Specific values, their semantics
                            and associated MCIO types are defined in clause 
                            5.5.4.9. Additional values are also permitted. See
                            note 1.
                          type: string
                          enum:
                            - Deployment
                            - Statefulset
                        desiredInstances:
                          description: |
                            Number of desired MCIO instances.
                          type: integer
                        availableInstances:
                          description: |
                            Number of available MCIO instances.
                          type: integer
                        additionalInfo:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              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
                  keyvalue pairs is represented as an object. It shall comply
                  with the provisions defined in clause 4 of IETF RFC 8259. In
                  the following example, a list of key-value pairs with four
                  keys ("aString", "aNumber", "anArray" and "anObject") is
                  provided to illustrate that the values associated with
                  different keys can be of different type.
                type: object
              _links:
                description: |
                  Links to resources related to this resource.
                type: object
                required:
                  - self
                properties:
                  self:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  indicators:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  instantiate:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  terminate:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  scale:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  scaleToLevel:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  changeFlavour:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  heal:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  operate:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  changeExtConn:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  createSnapshot:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  revertToSnapshot:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  changeCurrentVnfPkg:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
    IndividualVnfInstance.Patch.202:
      description: >
        202 ACCEPTED


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

        On success, the HTTP response shall include a "Location" HTTP header
        that

        contains the URI of the newly-created "Individual VNF LCM operation
        occurrence"

        resource corresponding to the operation.

        The response body shall be empty.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
    IndividualVnfInstance.Patch.409:
      description: |
        409 CONFLICT

        Shall be returned upon the following error: The
        operation cannot be executed currently, due to a
        conflict with the state of the "Individual VNF
        instance" resource.
        Typically, this is due to the fact that another LCM
        operation is ongoing.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute should
        convey more information about the error
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

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

        Shall be returned upon the following error: A
        precondition given in an HTTP request header is
        not fulfilled.
        Typically, this is due to an ETag mismatch,
        indicating that the resource was modified by
        another entity.
        The response body should contain a
        ProblemDetails structure, in which the "detail"
        attribute should convey more information about the
        error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
    IndividualVnfInstance.Delete.204:
      description: >
        204 NO CONTENT


        Shall be returned when the "Individual VNF instance" resource and the
        associated

        VNF identifier were deleted successfully.

        The response body shall be empty.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    IndividualVnfInstance.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 "Individual
        VNF 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    InstantiateVnfInstance.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 VNF LCM operation
        occurrence" resource corresponding to the operation.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    InstantiateVnfInstance.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 "Individual
        VNF instance" resource is in INSTANTIATED state,
        or that a required (see note) child attribute of the
        "extensions" attribute has not been set.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute shall convey
        more information about the error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    ScaleVnfInstance.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 "VNF LCM operation
        occurrence" resource corresponding to the operation.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    ScaleVnfInstance.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 [8],
        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 VNF instance 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    ScaleVnfInstance.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 "Individual
        VNF instance" resource is in NOT_INSTANTIATED
        state, that another lifecycle management operation is
        ongoing, or that a required (see note) child attribute
        of the "extensions" attribute has not been set.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute shall convey
        more information about the error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    ScaleToLevelVnfInstance.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 "VNF LCM operation
        occurrence" resource corresponding to the operation.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    ScaleToLevelVnfInstance.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 [8], 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 VNF instance 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    ScaleToLevelVnfInstance.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 VNF
        instance resource is in NOT_INSTANTIATED state,
        that another lifecycle management operation is
        ongoing, or that a required (see note) child attribute
        of the "extensions" attribute has not been set.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute shall convey
        more information about the error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    ChangeFlavourVnfInstance.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 "VNF LCM operation
        occurrence" resource corresponding to the operation.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    ChangeFlavourVnfInstance.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 [8], 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 VNF instance 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    ChangeFlavourVnfInstance.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 "Individual
        VNF instance" resource is in NOT_INSTANTIATED
        state, that another lifecycle management operation
        is ongoing, or that a required (see note) child
        attribute of the "extensions" attribute has not been
        set.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute shall convey
        more information about the error
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    TerminateVnfInstance.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 "VNF LCM operation
        occurrence" resource corresponding to the operation.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    TerminateVnfInstance.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 "Individual
        VNF instance" resource is in NOT_INSTANTIATED
        state, that another lifecycle management operation is
        ongoing, or that a required (see note) child attribute
        of the "extensions" attribute has not been set.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute shall convey
        more information about the error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    HealVnfInstance.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 "VNF LCM operation
        occurrence" resource corresponding to the operation.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    HealVnfInstance.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 [8],
        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 VNF instance 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    HealVnfInstance.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 "Individual
        VNF instance" resource is in NOT_INSTANTIATED
        state, that another lifecycle management operation is
        ongoing, or that a required (see note) child attribute
        of the "extensions" attribute has not been set.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute shall convey
        more information about the error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    OperateVnfInstance.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 "VNF LCM operation
        occurrence" resource corresponding to the operation.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    OperateVnfInstance.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 [8], 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 VNF instance
        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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    OperateVnfInstance.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 VNF
        instance resource is in NOT_INSTANTIATED
        state, that another lifecycle management operation
        is ongoing, or that a required (see note) child
        attribute of the "extensions" attribute has not been
        set.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute shall convey
        more information about the error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    ChangeExtConnVnfInstance.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 "VNF LCM operation
        occurrence" resource corresponding to the operation.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    ChangeExtConnVnfInstance.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
        another lifecycle management operation is
        ongoing, or that a required (see note) child
        attribute of the "extensions" attribute has
        not been set.
        The response body shall contain a
        ProblemDetails structure, in which the
        "detail" attribute shall convey more
        information about the error
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

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


        Shall be returned when status information for zero or more VNF lifecycle
        management

        operation occurrences has been queried successfully.

        The response body shall contain in an array the status information about
        zero or more

        VNF lifecycle operation occurrences, as defined in clause 5.5.2.13.

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

        "exclude_fields" (if supported) or "exclude_default" URI parameters was
        supplied in the request,

        the data in the response body shall have been transformed according to
        the rules specified

        in clauses 5.2.2 and 5.3.2 of ETSI GS NFV-SOL 013, respectively.

        If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1
        of ETSI GS NFV-SOL 013

        for this resource, inclusion of the Link HTTP header in this response
        shall follow the provisions

        in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
      headers:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          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:
        application/json:
          schema:
            type: array
            items:
              description: "This type represents a VNF lifecycle management operation occurrence.\nNOTE 1:\tThis allows the NFVO to obtain the information contained in the latest \n        \"result\" notification if it has not received it due to an error or a \n        wrongly configured subscription filter.\nNOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange \n        shall be present.\nNOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" \n        entries as needed for signalling the different types of changes, i.e. one \n        per virtual link and change type. For instance, in the case of signaling \n        affected VL instances involving the addition of a particular VL instance \n        with links ports, one \"AffectedVirtualLink\" entry signals the addition of \n        the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure \n        equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition \n        of externally visible VNF link ports of the VL by using the \"changeType\" equal \n        to \"LINK_PORT_ADDED\".\nNOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the \n        \"Individual coordination action\" resource within a timeout interval after requesting \n        the coordination to be started or to be cancelled. The length of the timeout interval \n        is defined by means outside the scope of the present document.\nNOTE 5:   The list of rejected coordinations may be garbage collected if the LCM operation\n        occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n"
              type: object
              oneOf:
                - required:
                    - changedInfo
                - required:
                    - modificationsTriggeredByVnfPkgChange
              required:
                - id
                - operationState
                - stateEnteredTime
                - startTime
                - vnfInstanceId
                - operation
                - isAutomaticInvocation
                - isCancelPending
              properties:
                id:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                operationState:
                  description: >
                    STARTING: The LCM operation is starting. PROCESSING: The LCM
                    operation is currently in execution. COMPLETED: The LCM
                    operation has been completed successfully. 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
                    won't succeed. ROLLING_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 VNF prior to
                    the original operation invocation has been restored as
                    closely as possible.
                  type: string
                  enum:
                    - STARTING
                    - PROCESSING
                    - COMPLETED
                    - FAILED_TEMP
                    - FAILED
                    - ROLLING_BACK
                    - ROLLED_BACK
                stateEnteredTime:
                  description: >
                    Date-time stamp. Representation: String formatted according
                    to IETF RFC 3339.
                  type: string
                  format: date-time
                startTime:
                  description: >
                    Date-time stamp. Representation: String formatted according
                    to IETF RFC 3339.
                  type: string
                  format: date-time
                vnfInstanceId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                grantId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                operation:
                  description: >
                    The enumeration LcmOpType defines the permitted values to
                    represent  VNF lifecycle operation types in VNF lifecycle
                    management operation  occurrence resources and VNF lifecycle
                    management operation occurrence  notifications.

                    Value | Description ------|------------ INSTANTIATE |
                    Represents the "Instantiate VNF" LCM operation.    SCALE |
                    Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL |
                    Represents the "Scale VNF to Level" LCM operation.
                    CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM
                    operation. TERMINATE | Represents the "Terminate VNF" LCM
                    operation. HEAL | Represents the "Heal VNF" LCM operation.
                    OPERATE | Represents the "Operate VNF" LCM operation.
                    CHANGE_EXT_CONN | Represents the "Change external VNF
                    connectivity" LCM operation. MODIFY_INFO | Represents the
                    "Modify VNF Information" LCM operation. CREATE_SNAPSHOT |
                    Represents the "Create VNF Snapshot" LCM operation.
                    REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot"
                    LCM operation. CHANGE_VNFPKG | Represents the "Change
                    current VNF package" LCM operation.
                  type: string
                  enum:
                    - INSTANTIATE
                    - SCALE
                    - SCALE_TO_LEVEL
                    - CHANGE_FLAVOUR
                    - TERMINATE
                    - HEAL
                    - OPERATE
                    - CHANGE_EXT_CONN
                    - MODIFY_INFO
                    - CREATE_SNAPSHOT
                    - REVERT_TO_SNAPSHOT
                    - CHANGE_VNFPKG
                isAutomaticInvocation:
                  description: >
                    The Boolean is a data type having two values (true and
                    false).
                  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
                    5.7 shall apply. 

                    The following mapping between operationType and the data
                    type of this attribute shall apply: * INSTANTIATE:
                    InstantiateVnfRequest * SCALE: ScaleVnfRequest *
                    SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR:
                    ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL:
                    HealVnfRequest * CHANGE_EXT_CONN:
                    ChangeExtVnfConnectivityRequest * TERMINATE:
                    TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications *
                    CREATE_SNAPSHOT: CreateVnfSnapshotRequest *
                    REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest *
                    CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest
                  type: object
                isCancelPending:
                  description: >
                    The Boolean is a data type having two values (true and
                    false).
                  type: boolean
                cancelMode:
                  description: >
                    Cancellation mode. GRACEFUL: If the VNF LCM operation
                    occurrence is in "PROCESSING" or "ROLLING_BACK" state, the
                    VNFM shall not start any new resource management operation
                    and shall wait for the ongoing resource management
                    operations in the underlying system, typically the VIM, to
                    finish execution or to time out. After that, the VNFM shall
                    put the operation occurrence into the FAILED_TEMP state. If
                    the VNF LCM operation occurrence is in "STARTING" state, the
                    VNFM shall not start any resource management operation and
                    shall wait for the granting request to finish execution or
                    time out. After that, the VNFM shall put the operation
                    occurrence into the ROLLED_BACK state. FORCEFUL: If the VNF
                    LCM operation occurrence is in "PROCESSING" or
                    "ROLLING_BACK" state, the VNFM shall not start any new
                    resource management operation, shall cancel the ongoing
                    resource management operations in the underlying system,
                    typically the VIM, and shall wait for the cancellation to
                    finish or to time out. After that, the VNFM shall put the
                    operation occurrence into the FAILED_TEMP state. If the VNF
                    LCM operation occurrence is in "STARTING" state, the VNFM
                    shall not start any resource management operation and put
                    the operation occurrence into the ROLLED_BACK state.
                  type: string
                  enum:
                    - GRACEFUL
                    - FORCEFUL
                error:
                  description: >
                    The definition of the general "ProblemDetails" data
                    structure from IETF RFC 7807 is reproduced inthis structure.
                    Compared to the general framework defined in IETF RFC 7807,
                    the "status" and "detail" attributes are mandated to be
                    included by the present document, to ensure that the
                    response contains additional textual information about an
                    error. IETF RFC 7807 foresees extensibility of the
                    "ProblemDetails" type. It is possible that particular APIs
                    in the present document, or particular implementations,
                    define extensions to define additional attributes that
                    provide more information about the error. The description
                    column only provides some explanation of the meaning to
                    Facilitate understanding of the design. For a full
                    description, see IETF RFC 7807.
                  type: object
                  required:
                    - status
                    - detail
                  properties:
                    type:
                      description: >
                        A URI reference according to IETF RFC 3986 that
                        identifies the problem type. It is encouraged that the
                        URI provides human-readable documentation for the
                        problem (e.g. using HTML) when dereferenced. When this
                        member is not present, its value is assumed to be
                        "about:blank".
                      type: string
                      format: URI
                    title:
                      description: >
                        A short, human-readable summary of the problem type. It
                        should not change from occurrence to occurrence of the
                        problem, except for purposes of localization. If type is
                        given and other than "about:blank", this attribute shall
                        also be provided. A short, human-readable summary of the
                        problem type.  It SHOULD NOT change from occurrence to
                        occurrence of the problem, except for purposes of
                        localization (e.g., using proactive content negotiation;
                        see [RFC7231], Section 3.4).
                      type: string
                    status:
                      description: >
                        The HTTP status code for this occurrence of the problem.
                        The HTTP status code ([RFC7231], Section 6) generated by
                        the origin server for this occurrence of the problem.
                      type: integer
                    detail:
                      description: >
                        A human-readable explanation specific to this occurrence
                        of the problem.
                      type: string
                    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:
                    affectedVnfcs:
                      description: >
                        Information about VNFC instances that were affected
                        during the lifecycle operation.  See note 1.
                      type: array
                      items:
                        description: "This type provides information about added, deleted, modified and temporary VNFCs.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer \n      (i.e. the NFVO) to assist in correlating the resource changes performed during \n      the LCM operation with the granted resources in a specific Grant exchange, which \n      is identified by the \"grantId\" available in the \"Individual VNF lifecycle management \n      operation occurrence\" and the \"id\" in the \"Individual Grant\".\n"
                        type: object
                        required:
                          - id
                          - vduId
                          - changeType
                          - 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
                          vduId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          changeType:
                            description: >
                              Signals the type of change. Permitted values: *
                              ADDED * REMOVED * MODIFIED * TEMPORARY For a
                              temporary resource, an AffectedVnfc structure
                              exists as long as the temporary resource exists.
                            type: string
                            enum:
                              - ADDED
                              - REMOVED
                              - MODIFIED
                              - TEMPORARY
                          computeResource:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          resourceDefinitionId:
                            description: >
                              An identifier that is unique within a limited
                              local scope other than above listed identifiers,
                              such as within a complex data structure or within
                              a request-response pair. Representation: string of
                              variable length.
                            type: string
                          zoneId:
                            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 keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                          affectedVnfcCpIds:
                            description: >
                              Identifiers of CP(s) of the VNFC instance that
                              were affected by the change. Shall be present for
                              those affected CPs of the VNFC instance that are
                              associated to an external CP of the VNF instance.
                              May be present for further affected CPs of the
                              VNFC instance.
                            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
                          addedStorageResourceIds:
                            description: >
                              References to VirtualStorage resources that have
                              been added. Each value refers to a
                              VirtualStorageResourceInfo item in the VnfInstance
                              that was added to the VNFC. It shall be provided
                              if at least one storage resource was added to the
                              VNFC.
                            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
                          removedStorageResourceIds:
                            description: >
                              References to VirtualStorage resources that have
                              been removed. The value contains the identifier of
                              a VirtualStorageResourceInfo item that has been
                              removed from the VNFC, and might no longer exist
                              in the VnfInstance. It shall be provided if at
                              least one storage resource was removed from the
                              VNFC.
                            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
                    affectedVirtualLinks:
                      description: >
                        Information about VL instances that were affected during
                        the lifecycle operation.  See notes 1 and 3.
                      type: array
                      items:
                        description: "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE 1:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n        the \"networkResource\" and \"resourceDefinitionId\" attributes refer to the affected virtual link \n        instance, not the link port instance. The resource handles of the affected VNF link ports can be \n        found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\nNOTE 2:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n        assist in correlating the resource changes performed during the LCM operation with the granted \n        resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n        \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n"
                        type: object
                        required:
                          - id
                          - vnfVirtualLinkDescId
                          - changeType
                          - 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
                          vnfVirtualLinkDescId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          changeType:
                            description: "Signals the type of change.\nPermitted values: -\tADDED -\tREMOVED -\tMODIFIED -\tTEMPORARY -\tLINK_PORT_ADDED -\tLINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.  See note 1.\n"
                            type: string
                            enum:
                              - ADDED
                              - REMOVED
                              - MODIFIED
                              - TEMPORARY
                              - LINK_PORT_ADDED
                              - LINK_PORT_REMOVED
                          networkResource:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          vnfLinkPortIds:
                            description: >
                              Identifiers of the link ports of the affected VL
                              related to the change. Each identifier references
                              a "VnfLinkPortInfo" structure.

                              Shall be set when changeType is equal to
                              "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the
                              related "VnfLinkPortInfo" structures are present
                              (case "added") or have been present (case
                              "removed") in the "VnfVirtualLinkResourceInfo" or
                              "ExtManagedVirtualLinkInfo" structures that are
                              represented by the "vnfVirtualLinkResource¬Info"
                              or "extManagedVirtualLinkInfo" attribute in the
                              "VnfInstance" structure. See note 1.
                            type: array
                            items:
                              description: >
                                An identifier that is unique within a VNF
                                descriptor.
                              type: string
                          resourceDefinitionId:
                            description: >
                              An identifier that is unique within a limited
                              local scope other than above listed identifiers,
                              such as within a complex data structure or within
                              a request-response pair. Representation: string of
                              variable length.
                            type: string
                          zoneId:
                            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 keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                    affectedExtLinkPorts:
                      description: >
                        Information about external VNF link ports that were
                        affected during the lifecycle operation.  See note 1.
                      type: array
                      items:
                        description: "This type provides information about added and deleted external link ports (link ports attached to external virtual links).\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to assist in correlating \n      the resource changes performed during the LCM operation with the granted resources in a specific Grant exchange, which \n      is identified by the \"grantId\" available in the \"Individual VNF lifecycle management operation occurrence\" and the \"id\" \n      in the \"Individual Grant\".\n"
                        type: object
                        required:
                          - id
                          - changeType
                          - extCpInstanceId
                          - resourceHandle
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          changeType:
                            description: "Signals the type of change. Permitted values: -\tADDED - MODIFIED -\tREMOVED\n"
                            type: string
                            enum:
                              - ADDED
                              - MODIFIED
                              - REMOVED
                          extCpInstanceId:
                            description: >
                              An identifier that is unique for the respective
                              type within a VNF instance, but may not be
                              globally unique.
                            type: string
                          resourceHandle:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          resourceDefinitionId:
                            description: >
                              An identifier that is unique within a limited
                              local scope other than above listed identifiers,
                              such as within a complex data structure or within
                              a request-response pair. Representation: string of
                              variable length.
                            type: string
                    affectedVirtualStorages:
                      description: >
                        Information about virtualised storage instances that
                        were affected during the lifecycle operation.  See note
                        1.
                      type: array
                      items:
                        description: "This type provides information about added, deleted, modified and temporary virtual storage resources.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n      assist in correlating the resource changes performed during the LCM operation with the granted \n      resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n      \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n"
                        type: object
                        required:
                          - id
                          - virtualStorageDescId
                          - changeType
                          - 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: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfdId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          changeType:
                            description: >
                              Signals the type of change. Permitted values: *
                              ADDED * REMOVED * MODIFIED * TEMPORARY For a
                              temporary resource, an AffectedVirtualStorage
                              structure exists as long as the temporary resource
                              exists.
                            type: string
                            enum:
                              - ADDED
                              - REMOVED
                              - MODIFIED
                              - TEMPORARY
                          storageResource:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          resourceDefinitionId:
                            description: >
                              An identifier that is unique within a limited
                              local scope other than above listed identifiers,
                              such as within a complex data structure or within
                              a request-response pair. Representation: string of
                              variable length.
                            type: string
                          zoneId:
                            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 keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                changedInfo:
                  description: "This type represents attribute modifications that were performed on an \"Individual  VNF instance\" resource. The attributes that can be included consist of those requested  to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and  additional attributes of the \"VnfInstance\" data structure that were modified implicitly  e.g. when modifying the referenced VNF package.\nNOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) \n      was modified implicitly following a request to modify the \"vnfdId\" attribute, by \n      copying the value of this attribute from the VNFD in the VNF Package identified by \n      the \"vnfdId\" attribute.\n"
                  type: object
                  properties:
                    vnfInstanceName:
                      description: |
                        A string defined in IETF RFC 8259.
                      type: string
                    vnfInstanceDescription:
                      description: |
                        A string defined in IETF RFC 8259.
                      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 keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    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 keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    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 keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    vimConnectionInfo:
                      description: >
                        If present, this attribute signals modifications the
                        "vimConnectionInfo"  attribute array in "VnfInstance".
                      type: object
                      additionalProperties:
                        description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                        type: object
                        required:
                          - vimType
                        properties:
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vimType:
                            description: >
                              Discriminator for the different types of the VIM
                              information. The value of this attribute
                              determines the structure of the "interfaceInfo"
                              and "accessInfo" attributes, based on the type of
                              the VIM., CISM, CIR or MCIOP repository. The set
                              of permitted values is expected to change over
                              time as new types or versions of VIMs become
                              available. The ETSI NFV registry of VIM-related
                              information provides access to information about
                              VimConnectionInfo definitions for various VIM,
                              CISM, CIR or MCIOP repository types. The structure
                              of the registry is defined in annex C.
                            type: string
                          interfaceInfo:
                            description: >
                              This type represents a list of key-value pairs.
                              The order of the pairs in the list is not
                              significant. In JSON, a set of keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                          accessInfo:
                            description: >
                              This type represents a list of key-value pairs.
                              The order of the pairs in the list is not
                              significant. In JSON, a set of keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                          extra:
                            description: >
                              This type represents a list of key-value pairs.
                              The order of the pairs in the list is not
                              significant. In JSON, a set of keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfProvider:
                      description: |
                        A string defined in IETF RFC 8259.
                      type: string
                    vnfProductName:
                      description: |
                        A string defined in IETF RFC 8259.
                      type: string
                    vnfSoftwareVersion:
                      description: |
                        A version.
                      type: string
                    vnfdVersion:
                      description: |
                        A version.
                      type: string
                affectedVipCps:
                  description: >
                    Information about virtual IP CP instances that were affected
                    during the execution of the lifecycle management operation.
                  type: array
                  items:
                    description: >
                      This type provides information about added, deleted and
                      modified virtual IP CP instances.
                    type: object
                    required:
                      - cpInstanceId
                      - cpdId
                      - changeType
                    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: |
                          An identifier that is unique within a VNF descriptor.
                        type: string
                      vnfdId:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      changeType:
                        description: "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n"
                        type: string
                        enum:
                          - ADDED
                          - REMOVED
                          - MODIFIED
                changedExtConnectivity:
                  description: >
                    Information about changed external connectivity, if
                    applicable. See note 1.
                  type: array
                  items:
                    description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                    type: object
                    required:
                      - id
                      - resourceHandle
                      - currentVnfExtCpData
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      resourceHandle:
                        required:
                          - resourceId
                        type: object
                        description: >
                          This type represents the information that allows
                          addressing a virtualised resource that is used by a
                          VNF instance. Information about the resource is
                          available from the VIM.

                          * NOTE 1: The value set of the "vimLevelResourceType"
                          attribute is within the scope of the VIM or CISM or
                          the resource 
                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                          * NOTE 2: When the container infrastructure service
                          management is a Kubernetes® instance the resourceId
                          shall be 
                                    populated in the following way:
                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                    per resource type.
                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                    manifest.
                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                    the 'metadata.name' field in Kubernetes® manifest.
                        properties:
                          vimConnectionId:
                            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 the CISM
                              or other resource provider. It is expected to be
                              unique within the VIM instance.
                            type: string
                          vimLevelResourceType:
                            description: >
                              Type of the resource in the scope of the VIM or
                              the CISM or the resource provider. See note 1.
                            type: string
                          vimLevelAdditionalResourceInfo:
                            description: >
                              This type represents additional resource
                              information which resource and resource type
                              specific, and which is available from the VIM or
                              the CISM or the resource provider.

                              * NOTE: At least one attribute shall be present.
                            type: object
                            properties:
                              hostName:
                                description: >
                                  Name of the host where the resource is
                                  allocated. It shall be present for compute
                                  resources in the scope of the CISM and shall
                                  be absent otherwise. See note.
                                type: string
                              persistentVolume:
                                description: >
                                  Name of the persistent volume to which the
                                  persistent volume claim representing the
                                  storage resource is bound. It may be present
                                  for storage resources in the scope of the CISM
                                  and shall be absent otherwise. See note.
                                type: string
                              additionalInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                          containerNamespace:
                            description: >
                              The value of the namespace in which the MCIO
                              corresponding to the resource is deployed. This
                              attribute shall be present if the resource is
                              managed by a CISM and it shall be absent
                              otherwise.
                            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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                              required:
                                - resourceId
                              type: object
                              description: >
                                This type represents the information that allows
                                addressing a virtualised resource that is used
                                by a VNF instance. Information about the
                                resource is available from the VIM.

                                * NOTE 1: The value set of the
                                "vimLevelResourceType" attribute is within the
                                scope of the VIM or CISM or the resource 
                                          provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                          the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                          infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                          resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                          e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                * NOTE 2: When the container infrastructure
                                service management is a Kubernetes® instance the
                                resourceId shall be 
                                          populated in the following way:
                                          - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                          per resource type.
                                          - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                          i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                          Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                          manifest.
                                          - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                          the 'metadata.name' field in Kubernetes® manifest.
                              properties:
                                vimConnectionId:
                                  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 the
                                    CISM or other resource provider. It is
                                    expected to be unique within the VIM
                                    instance.
                                  type: string
                                vimLevelResourceType:
                                  description: >
                                    Type of the resource in the scope of the VIM
                                    or the CISM or the resource provider. See
                                    note 1.
                                  type: string
                                vimLevelAdditionalResourceInfo:
                                  description: >
                                    This type represents additional resource
                                    information which resource and resource type
                                    specific, and which is available from the
                                    VIM or the CISM or the resource provider.

                                    * NOTE: At least one attribute shall be
                                    present.
                                  type: object
                                  properties:
                                    hostName:
                                      description: >
                                        Name of the host where the resource is
                                        allocated. It shall be present for
                                        compute resources in the scope of the
                                        CISM and shall be absent otherwise. See
                                        note.
                                      type: string
                                    persistentVolume:
                                      description: >
                                        Name of the persistent volume to which
                                        the persistent volume claim representing
                                        the storage resource is bound. It may be
                                        present for storage resources in the
                                        scope of the CISM and shall be absent
                                        otherwise. See note.
                                      type: string
                                    additionalInfo:
                                      description: >
                                        This type represents a list of key-value
                                        pairs. The order of the pairs in the
                                        list is not significant. In JSON, a set
                                        of keyvalue pairs is represented as an
                                        object. It shall comply with the
                                        provisions defined in clause 4 of IETF
                                        RFC 8259. In the following example, a
                                        list of key-value pairs with four keys
                                        ("aString", "aNumber", "anArray" and
                                        "anObject") is provided to illustrate
                                        that the values associated with
                                        different keys can be of different type.
                                      type: object
                                containerNamespace:
                                  description: >
                                    The value of the namespace in which the MCIO
                                    corresponding to the resource is deployed.
                                    This attribute shall be present if the
                                    resource is managed by a CISM and it shall
                                    be absent otherwise.
                                  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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                      currentVnfExtCpData:
                        description: >
                          Allows the API consumer to read the current CP
                          configuration information for the connection of
                          external CPs  to the external virtual link. See note.
                        type: array
                        items:
                          description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                          type: object
                          required:
                            - cpdId
                          properties:
                            cpdId:
                              description: >
                                An identifier that is unique within a VNF
                                descriptor.
                              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 NFVO.
                                The entries shall be applied by the VNFM
                                according to the rules of JSON Merge Patch (see
                                IETF RFC 7396). See notes 2, 3 and 4.
                              type: object
                              additionalProperties:
                                description: >
                                  This type represents an externally provided
                                  link port, or a network attachment definition
                                  resource of secondary container cluster
                                  network, or network address information per
                                  instance of an external connection point. In
                                  the case of VM-based deployment of the VNFC
                                  exposing the external CP:
                                    1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                        external VL.
                                    2.  In case 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.
                                  In the case of container-based deployment of
                                  the VNFC exposing the external CP, the VNFM
                                  shall use the network attachment definition
                                  resource of secondary container cluster
                                  network when connecting the CP to the external
                                  VL.

                                  * NOTE 1: The following conditions apply to
                                  the attributes "linkPortId" and
                                  "cpProtocolData" for an external CP
                                            instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                            1) Void.
                                            2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                            representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                            corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                            external CP instance that is to be re-configured or added to a particular external virtual link.
                                            3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                            4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                            precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                            pre-configured address information for the connection point from the resource representing the link port.
                                            5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                            cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                  * NOTE 2: The following conditions apply to
                                  the attributes “netAttDefResourceId” and
                                  “cpProtocolData” for an external CP
                                            instance connected or to be connected to a secondary container cluster network:
                                            1) Void.
                                            2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                            a to-be-created external CP instance or an existing external CP instance.
                                  * NOTE 3: Cardinality greater than 1 is only
                                  applicable for specific cases where more than
                                  one network attachment
                                            definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                            redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                            to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                            "NetAttDefResourceData".
                                  * NOTE 4: Either linkPortId or
                                  netAttDefResourceId may be included, but not
                                  both.
                                anyOf:
                                  - required:
                                      - linkPortId
                                  - required:
                                      - cpProtocolData
                                  - required:
                                      - netAttDefResourceId
                                type: object
                                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 to the VNFM the need to create a
                                      dedicated link port for the external CP.
                                      If set to True, the VNFM shall create a
                                      link port. If set to False, the VNFM shall
                                      not create a link port. 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
                                  netAttDefResourceId:
                                    description: >
                                      Identifier of the “NetAttDefResourceData”
                                      structure that provides the specification
                                      of the interface to attach the external CP
                                      to a secondary container cluster network.
                                      It is only applicable if the external CP
                                      is connected or to be connected to a
                                      secondary container cluster network. It
                                      shall not be present if the external CP is
                                      related to a virtual network not
                                      categorized as secondary container cluster
                                      network. See notes 2, 3 and 4.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being globally unique.
                                      type: string
                                  cpProtocolData:
                                    description: >
                                      Parameters for configuring the network
                                      protocols on the link port that connects
                                      the CP to a VL. See notes 1 and 2.
                                    type: array
                                    items:
                                      description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                      properties:
                                        layerProtocol:
                                          description: >
                                            Identifier of layer(s) and protocol(s).
                                            Permitted values:
                                              - IP_OVER_ETHERNET.
                                              - IP_FOR_VIRTUAL_CP
                                            See note
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                        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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                            segmentationType:
                                              description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                  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. 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
                                                      the CISM or other resource provider. It
                                                      is expected to be unique within the VIM
                                                      instance.
                                                    type: string
                                        virtualCpAddress:
                                          description: >
                                            This type represents network address
                                            data for a virtual CP.

                                            * NOTE 1: If the container cluster is
                                            set up to be able to configure an
                                            external load balancer this address will
                                            be used,
                                                      otherwise it will be ignored by the CISM.
                                            * NOTE 2: In case the cluster can
                                            configure an external load balancer but
                                            no loadBalancerIp is provided the
                                            container
                                                      cluster will assign an IP address.
                                            * NOTE 3: The attribute is only relevant
                                            if the virtual CP is instantiated in a
                                            cluster that supports configuration of
                                            IP
                                                      address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                      Kubernetes® that supports configuration of address pools for load balancer services.
                                            * NOTE 4: The loadBalancerIp and the
                                            addressPoolName attributes shall not be
                                            present at the same
                                            time.                
                                          type: object
                                          required:
                                            - type
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values: IPV4, IPV6.
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            loadBalancerIp:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            addressPoolName:
                                              description: >
                                                Name of an address pool from which the
                                                container cluster will assign an IP
                                                address to the virtual CP. See notes 3
                                                and 4.
                                              type: string
                      extNetAttDefResource:
                        description: >
                          Network attachment definition resources that provide
                          the specification of the interface to attach
                          connection points  to this VL.
                        type: array
                        items:
                          description: >
                            This type contains information related to a network
                            attachment definition resource that provides the 
                            specification of the interface used to connect one
                            or multiple connection points to a secondary
                            container  cluster network.
                          type: object
                          required:
                            - netAttDefResourceInfoId
                            - netAttDefResource
                          properties:
                            netAttDefResourceInfoId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            netAttDefResource:
                              required:
                                - resourceId
                              type: object
                              description: >
                                This type represents the information that allows
                                addressing a virtualised resource that is used
                                by a VNF instance. Information about the
                                resource is available from the VIM.

                                * NOTE 1: The value set of the
                                "vimLevelResourceType" attribute is within the
                                scope of the VIM or CISM or the resource 
                                          provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                          the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                          infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                          resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                          e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                * NOTE 2: When the container infrastructure
                                service management is a Kubernetes® instance the
                                resourceId shall be 
                                          populated in the following way:
                                          - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                          per resource type.
                                          - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                          i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                          Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                          manifest.
                                          - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                          the 'metadata.name' field in Kubernetes® manifest.
                              properties:
                                vimConnectionId:
                                  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 the
                                    CISM or other resource provider. It is
                                    expected to be unique within the VIM
                                    instance.
                                  type: string
                                vimLevelResourceType:
                                  description: >
                                    Type of the resource in the scope of the VIM
                                    or the CISM or the resource provider. See
                                    note 1.
                                  type: string
                                vimLevelAdditionalResourceInfo:
                                  description: >
                                    This type represents additional resource
                                    information which resource and resource type
                                    specific, and which is available from the
                                    VIM or the CISM or the resource provider.

                                    * NOTE: At least one attribute shall be
                                    present.
                                  type: object
                                  properties:
                                    hostName:
                                      description: >
                                        Name of the host where the resource is
                                        allocated. It shall be present for
                                        compute resources in the scope of the
                                        CISM and shall be absent otherwise. See
                                        note.
                                      type: string
                                    persistentVolume:
                                      description: >
                                        Name of the persistent volume to which
                                        the persistent volume claim representing
                                        the storage resource is bound. It may be
                                        present for storage resources in the
                                        scope of the CISM and shall be absent
                                        otherwise. See note.
                                      type: string
                                    additionalInfo:
                                      description: >
                                        This type represents a list of key-value
                                        pairs. The order of the pairs in the
                                        list is not significant. In JSON, a set
                                        of keyvalue pairs is represented as an
                                        object. It shall comply with the
                                        provisions defined in clause 4 of IETF
                                        RFC 8259. In the following example, a
                                        list of key-value pairs with four keys
                                        ("aString", "aNumber", "anArray" and
                                        "anObject") is provided to illustrate
                                        that the values associated with
                                        different keys can be of different type.
                                      type: object
                                containerNamespace:
                                  description: >
                                    The value of the namespace in which the MCIO
                                    corresponding to the resource is deployed.
                                    This attribute shall be present if the
                                    resource is managed by a CISM and it shall
                                    be absent otherwise.
                                  type: string
                            associatedExtCpId:
                              description: >
                                Identifier of the external CP associated to this
                                network attachment definition resource. Shall be
                                present  when the network attachment definition
                                resource is used for external connectivity by
                                the VNF.
                              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
                            associatedVnfcCpId:
                              description: >
                                Identifier of the VNFC CP associated to this
                                network attachment definition resource. May be
                                present when  the network attachment definition
                                resource is used for internal connectivity by
                                the VNF.
                              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
                modificationsTriggeredByVnfPkgChange:
                  description: "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource  when changing the current VNF package. The attributes that can be included consist of those requested to  be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the  \"VnfInstance\" data structure that were modified implicitly during the operation.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n        of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n        at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n        during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n        VNF Package identified by the \"vnfdId\" attribute.\n"
                  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 keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    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 keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    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 keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    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". See note 2.
                      type: string
                    vnfProductName:
                      description: >
                        If present, this attribute signals the new value of the
                        "vnfProductName" attribute in "VnfInstance". See note 2.
                      type: string
                    vnfSoftwareVersion:
                      description: |
                        A version.
                      type: string
                    vnfdVersion:
                      description: |
                        A version.
                      type: string
                    vimConnectionInfo:
                      description: >
                        If present, this attribute signals the changes to VIM
                        connection info that were passed in the related 
                        "ChangeCurrentVnfPkgRequest" structure. The provisions
                        for sensitive information defined in clause  4.4.1.6
                        apply.
                      type: object
                      additionalProperties:
                        description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                        type: object
                        required:
                          - vimType
                        properties:
                          vimId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          vimType:
                            description: >
                              Discriminator for the different types of the VIM
                              information. The value of this attribute
                              determines the structure of the "interfaceInfo"
                              and "accessInfo" attributes, based on the type of
                              the VIM., CISM, CIR or MCIOP repository. The set
                              of permitted values is expected to change over
                              time as new types or versions of VIMs become
                              available. The ETSI NFV registry of VIM-related
                              information provides access to information about
                              VimConnectionInfo definitions for various VIM,
                              CISM, CIR or MCIOP repository types. The structure
                              of the registry is defined in annex C.
                            type: string
                          interfaceInfo:
                            description: >
                              This type represents a list of key-value pairs.
                              The order of the pairs in the list is not
                              significant. In JSON, a set of keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                          accessInfo:
                            description: >
                              This type represents a list of key-value pairs.
                              The order of the pairs in the list is not
                              significant. In JSON, a set of keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                          extra:
                            description: >
                              This type represents a list of key-value pairs.
                              The order of the pairs in the list is not
                              significant. In JSON, a set of keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                vnfSnapshotInfoId:
                  description: |
                    An identifier with the intention of being globally unique.
                  type: string
                lcmCoordinations:
                  description: >
                    Information about LCM coordination actions (see clause 10 in
                    ETSI GS NFV-SOL002) 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 VNFM as
                          the follow-up to this coordination. Value |
                          Description ------|------------ 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 VNFM. The related LCM operation shall be aborted
                          by transitioning into the state "FAILED_TEMP".
                        type: string
                        enum:
                          - CONTINUE
                          - ABORT
                          - CANCELLED
                      startTime:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according to IETF RFC 3339.
                        type: string
                        format: date-time
                      endTime:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according to IETF RFC 3339.
                        type: string
                        format: date-time
                      delay:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according to IETF RFC 3339.
                        type: string
                        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. EM) •\tVNF: coordination with the VNF instance\n"
                        type: string
                        enum:
                          - MGMT
                          - VNF
                rejectedLcmCoordinations:
                  description: >
                    Information about LCM coordination actions (see clause 10 in
                    ETSI GS NFV-SOL002) that were rejected by 503 error which
                    means they can be tried again after a delay. See note 5.
                  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 to IETF RFC 3339.
                        type: string
                        format: date-time
                      delay:
                        description: >
                          Date-time stamp. Representation: String formatted
                          according to IETF RFC 3339.
                        type: string
                        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. EM) •\tVNF: coordination with the VNF instance\n"
                        type: string
                        enum:
                          - MGMT
                          - VNF
                warnings:
                  description: >
                    Warning messages that were generated while the operation was
                    executing.

                    If the operation has included 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
                    - vnfInstance
                  properties:
                    self:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    vnfInstance:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    grant:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    cancel:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    retry:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    rollback:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    fail:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    vnfSnapshot:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
    IndividualVnfLcmOpOcc.Get.200:
      description: >
        200 OK


        Shall be returned when information about a VNF LCM operation occurrence
        washas been read successfully.

        The response body shall contain status information about a VNF lifecycle
        management operation occurrence

        (see clause 5.5.2.13).
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: "This type represents a VNF lifecycle management operation occurrence.\nNOTE 1:\tThis allows the NFVO to obtain the information contained in the latest \n        \"result\" notification if it has not received it due to an error or a \n        wrongly configured subscription filter.\nNOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange \n        shall be present.\nNOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" \n        entries as needed for signalling the different types of changes, i.e. one \n        per virtual link and change type. For instance, in the case of signaling \n        affected VL instances involving the addition of a particular VL instance \n        with links ports, one \"AffectedVirtualLink\" entry signals the addition of \n        the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure \n        equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition \n        of externally visible VNF link ports of the VL by using the \"changeType\" equal \n        to \"LINK_PORT_ADDED\".\nNOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the \n        \"Individual coordination action\" resource within a timeout interval after requesting \n        the coordination to be started or to be cancelled. The length of the timeout interval \n        is defined by means outside the scope of the present document.\nNOTE 5:   The list of rejected coordinations may be garbage collected if the LCM operation\n        occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n"
            type: object
            oneOf:
              - required:
                  - changedInfo
              - required:
                  - modificationsTriggeredByVnfPkgChange
            required:
              - id
              - operationState
              - stateEnteredTime
              - startTime
              - vnfInstanceId
              - operation
              - isAutomaticInvocation
              - isCancelPending
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              operationState:
                description: >
                  STARTING: The LCM operation is starting. PROCESSING: The LCM
                  operation is currently in execution. COMPLETED: The LCM
                  operation has been completed successfully. 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 won't
                  succeed. ROLLING_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 VNF prior to
                  the original operation invocation has been restored as closely
                  as possible.
                type: string
                enum:
                  - STARTING
                  - PROCESSING
                  - COMPLETED
                  - FAILED_TEMP
                  - FAILED
                  - ROLLING_BACK
                  - ROLLED_BACK
              stateEnteredTime:
                description: >
                  Date-time stamp. Representation: String formatted according to
                  IETF RFC 3339.
                type: string
                format: date-time
              startTime:
                description: >
                  Date-time stamp. Representation: String formatted according to
                  IETF RFC 3339.
                type: string
                format: date-time
              vnfInstanceId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              grantId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              operation:
                description: >
                  The enumeration LcmOpType defines the permitted values to
                  represent  VNF lifecycle operation types in VNF lifecycle
                  management operation  occurrence resources and VNF lifecycle
                  management operation occurrence  notifications.

                  Value | Description ------|------------ INSTANTIATE |
                  Represents the "Instantiate VNF" LCM operation.    SCALE |
                  Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL |
                  Represents the "Scale VNF to Level" LCM operation.
                  CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM
                  operation. TERMINATE | Represents the "Terminate VNF" LCM
                  operation. HEAL | Represents the "Heal VNF" LCM operation.
                  OPERATE | Represents the "Operate VNF" LCM operation.
                  CHANGE_EXT_CONN | Represents the "Change external VNF
                  connectivity" LCM operation. MODIFY_INFO | Represents the
                  "Modify VNF Information" LCM operation. CREATE_SNAPSHOT |
                  Represents the "Create VNF Snapshot" LCM operation.
                  REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot"
                  LCM operation. CHANGE_VNFPKG | Represents the "Change current
                  VNF package" LCM operation.
                type: string
                enum:
                  - INSTANTIATE
                  - SCALE
                  - SCALE_TO_LEVEL
                  - CHANGE_FLAVOUR
                  - TERMINATE
                  - HEAL
                  - OPERATE
                  - CHANGE_EXT_CONN
                  - MODIFY_INFO
                  - CREATE_SNAPSHOT
                  - REVERT_TO_SNAPSHOT
                  - CHANGE_VNFPKG
              isAutomaticInvocation:
                description: |
                  The Boolean is a data type having two values (true and false).
                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 5.7 shall
                  apply. 

                  The following mapping between operationType and the data type
                  of this attribute shall apply: * INSTANTIATE:
                  InstantiateVnfRequest * SCALE: ScaleVnfRequest *
                  SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR:
                  ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL:
                  HealVnfRequest * CHANGE_EXT_CONN:
                  ChangeExtVnfConnectivityRequest * TERMINATE:
                  TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications *
                  CREATE_SNAPSHOT: CreateVnfSnapshotRequest *
                  REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest *
                  CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest
                type: object
              isCancelPending:
                description: |
                  The Boolean is a data type having two values (true and false).
                type: boolean
              cancelMode:
                description: >
                  Cancellation mode. GRACEFUL: If the VNF LCM operation
                  occurrence is in "PROCESSING" or "ROLLING_BACK" state, the
                  VNFM shall not start any new resource management operation and
                  shall wait for the ongoing resource management operations in
                  the underlying system, typically the VIM, to finish execution
                  or to time out. After that, the VNFM shall put the operation
                  occurrence into the FAILED_TEMP state. If the VNF LCM
                  operation occurrence is in "STARTING" state, the VNFM shall
                  not start any resource management operation and shall wait for
                  the granting request to finish execution or time out. After
                  that, the VNFM shall put the operation occurrence into the
                  ROLLED_BACK state. FORCEFUL: If the VNF LCM operation
                  occurrence is in "PROCESSING" or "ROLLING_BACK" state, the
                  VNFM shall not start any new resource management operation,
                  shall cancel the ongoing resource management operations in the
                  underlying system, typically the VIM, and shall wait for the
                  cancellation to finish or to time out. After that, the VNFM
                  shall put the operation occurrence into the FAILED_TEMP state.
                  If the VNF LCM operation occurrence is in "STARTING" state,
                  the VNFM shall not start any resource management operation and
                  put the operation occurrence into the ROLLED_BACK state.
                type: string
                enum:
                  - GRACEFUL
                  - FORCEFUL
              error:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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:
                  affectedVnfcs:
                    description: >
                      Information about VNFC instances that were affected during
                      the lifecycle operation.  See note 1.
                    type: array
                    items:
                      description: "This type provides information about added, deleted, modified and temporary VNFCs.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer \n      (i.e. the NFVO) to assist in correlating the resource changes performed during \n      the LCM operation with the granted resources in a specific Grant exchange, which \n      is identified by the \"grantId\" available in the \"Individual VNF lifecycle management \n      operation occurrence\" and the \"id\" in the \"Individual Grant\".\n"
                      type: object
                      required:
                        - id
                        - vduId
                        - changeType
                        - 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
                        vduId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: *
                            ADDED * REMOVED * MODIFIED * TEMPORARY For a
                            temporary resource, an AffectedVnfc structure exists
                            as long as the temporary resource exists.
                          type: string
                          enum:
                            - ADDED
                            - REMOVED
                            - MODIFIED
                            - TEMPORARY
                        computeResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        resourceDefinitionId:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                        zoneId:
                          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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        affectedVnfcCpIds:
                          description: >
                            Identifiers of CP(s) of the VNFC instance that were
                            affected by the change. Shall be present for those
                            affected CPs of the VNFC instance that are
                            associated to an external CP of the VNF instance.
                            May be present for further affected CPs of the VNFC
                            instance.
                          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
                        addedStorageResourceIds:
                          description: >
                            References to VirtualStorage resources that have
                            been added. Each value refers to a
                            VirtualStorageResourceInfo item in the VnfInstance
                            that was added to the VNFC. It shall be provided if
                            at least one storage resource was added to the VNFC.
                          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
                        removedStorageResourceIds:
                          description: >
                            References to VirtualStorage resources that have
                            been removed. The value contains the identifier of a
                            VirtualStorageResourceInfo item that has been
                            removed from the VNFC, and might no longer exist in
                            the VnfInstance. It shall be provided if at least
                            one storage resource was removed from the VNFC.
                          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
                  affectedVirtualLinks:
                    description: >
                      Information about VL instances that were affected during
                      the lifecycle operation.  See notes 1 and 3.
                    type: array
                    items:
                      description: "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE 1:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n        the \"networkResource\" and \"resourceDefinitionId\" attributes refer to the affected virtual link \n        instance, not the link port instance. The resource handles of the affected VNF link ports can be \n        found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\nNOTE 2:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n        assist in correlating the resource changes performed during the LCM operation with the granted \n        resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n        \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n"
                      type: object
                      required:
                        - id
                        - vnfVirtualLinkDescId
                        - changeType
                        - 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
                        vnfVirtualLinkDescId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        changeType:
                          description: "Signals the type of change.\nPermitted values: -\tADDED -\tREMOVED -\tMODIFIED -\tTEMPORARY -\tLINK_PORT_ADDED -\tLINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.  See note 1.\n"
                          type: string
                          enum:
                            - ADDED
                            - REMOVED
                            - MODIFIED
                            - TEMPORARY
                            - LINK_PORT_ADDED
                            - LINK_PORT_REMOVED
                        networkResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        vnfLinkPortIds:
                          description: >
                            Identifiers of the link ports of the affected VL
                            related to the change. Each identifier references a
                            "VnfLinkPortInfo" structure.

                            Shall be set when changeType is equal to
                            "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the
                            related "VnfLinkPortInfo" structures are present
                            (case "added") or have been present (case "removed")
                            in the "VnfVirtualLinkResourceInfo" or
                            "ExtManagedVirtualLinkInfo" structures that are
                            represented by the "vnfVirtualLinkResource¬Info" or
                            "extManagedVirtualLinkInfo" attribute in the
                            "VnfInstance" structure. See note 1.
                          type: array
                          items:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                        resourceDefinitionId:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                        zoneId:
                          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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  affectedExtLinkPorts:
                    description: >
                      Information about external VNF link ports that were
                      affected during the lifecycle operation.  See note 1.
                    type: array
                    items:
                      description: "This type provides information about added and deleted external link ports (link ports attached to external virtual links).\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to assist in correlating \n      the resource changes performed during the LCM operation with the granted resources in a specific Grant exchange, which \n      is identified by the \"grantId\" available in the \"Individual VNF lifecycle management operation occurrence\" and the \"id\" \n      in the \"Individual Grant\".\n"
                      type: object
                      required:
                        - id
                        - changeType
                        - extCpInstanceId
                        - resourceHandle
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        changeType:
                          description: "Signals the type of change. Permitted values: -\tADDED - MODIFIED -\tREMOVED\n"
                          type: string
                          enum:
                            - ADDED
                            - MODIFIED
                            - REMOVED
                        extCpInstanceId:
                          description: >
                            An identifier that is unique for the respective type
                            within a VNF instance, but may not be globally
                            unique.
                          type: string
                        resourceHandle:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        resourceDefinitionId:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                  affectedVirtualStorages:
                    description: >
                      Information about virtualised storage instances that were
                      affected during the lifecycle operation.  See note 1.
                    type: array
                    items:
                      description: "This type provides information about added, deleted, modified and temporary virtual storage resources.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n      assist in correlating the resource changes performed during the LCM operation with the granted \n      resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n      \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n"
                      type: object
                      required:
                        - id
                        - virtualStorageDescId
                        - changeType
                        - 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: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: *
                            ADDED * REMOVED * MODIFIED * TEMPORARY For a
                            temporary resource, an AffectedVirtualStorage
                            structure exists as long as the temporary resource
                            exists.
                          type: string
                          enum:
                            - ADDED
                            - REMOVED
                            - MODIFIED
                            - TEMPORARY
                        storageResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        resourceDefinitionId:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                        zoneId:
                          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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
              changedInfo:
                description: "This type represents attribute modifications that were performed on an \"Individual  VNF instance\" resource. The attributes that can be included consist of those requested  to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and  additional attributes of the \"VnfInstance\" data structure that were modified implicitly  e.g. when modifying the referenced VNF package.\nNOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) \n      was modified implicitly following a request to modify the \"vnfdId\" attribute, by \n      copying the value of this attribute from the VNFD in the VNF Package identified by \n      the \"vnfdId\" attribute.\n"
                type: object
                properties:
                  vnfInstanceName:
                    description: |
                      A string defined in IETF RFC 8259.
                    type: string
                  vnfInstanceDescription:
                    description: |
                      A string defined in IETF RFC 8259.
                    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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  vimConnectionInfo:
                    description: >
                      If present, this attribute signals modifications the
                      "vimConnectionInfo"  attribute array in "VnfInstance".
                    type: object
                    additionalProperties:
                      description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                      type: object
                      required:
                        - vimType
                      properties:
                        vimId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vimType:
                          description: >
                            Discriminator for the different types of the VIM
                            information. The value of this attribute determines
                            the structure of the "interfaceInfo" and
                            "accessInfo" attributes, based on the type of the
                            VIM., CISM, CIR or MCIOP repository. The set of
                            permitted values is expected to change over time as
                            new types or versions of VIMs become available. The
                            ETSI NFV registry of VIM-related information
                            provides access to information about
                            VimConnectionInfo definitions for various VIM, CISM,
                            CIR or MCIOP repository types. The structure of the
                            registry is defined in annex C.
                          type: string
                        interfaceInfo:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        accessInfo:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        extra:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  vnfdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfProvider:
                    description: |
                      A string defined in IETF RFC 8259.
                    type: string
                  vnfProductName:
                    description: |
                      A string defined in IETF RFC 8259.
                    type: string
                  vnfSoftwareVersion:
                    description: |
                      A version.
                    type: string
                  vnfdVersion:
                    description: |
                      A version.
                    type: string
              affectedVipCps:
                description: >
                  Information about virtual IP CP instances that were affected
                  during the execution of the lifecycle management operation.
                type: array
                items:
                  description: >
                    This type provides information about added, deleted and
                    modified virtual IP CP instances.
                  type: object
                  required:
                    - cpInstanceId
                    - cpdId
                    - changeType
                  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: |
                        An identifier that is unique within a VNF descriptor.
                      type: string
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    changeType:
                      description: "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n"
                      type: string
                      enum:
                        - ADDED
                        - REMOVED
                        - MODIFIED
              changedExtConnectivity:
                description: >
                  Information about changed external connectivity, if
                  applicable. See note 1.
                type: array
                items:
                  description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                  type: object
                  required:
                    - id
                    - resourceHandle
                    - currentVnfExtCpData
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    resourceHandle:
                      required:
                        - resourceId
                      type: object
                      description: >
                        This type represents the information that allows
                        addressing a virtualised resource that is used by a VNF
                        instance. Information about the resource is available
                        from the VIM.

                        * NOTE 1: The value set of the "vimLevelResourceType"
                        attribute is within the scope of the VIM or CISM or the
                        resource 
                                  provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                  the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                  infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                  resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                  e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                        * NOTE 2: When the container infrastructure service
                        management is a Kubernetes® instance the resourceId
                        shall be 
                                  populated in the following way:
                                  - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                  per resource type.
                                  - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                  i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                  Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                  manifest.
                                  - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                  the 'metadata.name' field in Kubernetes® manifest.
                      properties:
                        vimConnectionId:
                          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 the CISM or
                            other resource provider. It is expected to be unique
                            within the VIM instance.
                          type: string
                        vimLevelResourceType:
                          description: >
                            Type of the resource in the scope of the VIM or the
                            CISM or the resource provider. See note 1.
                          type: string
                        vimLevelAdditionalResourceInfo:
                          description: >
                            This type represents additional resource information
                            which resource and resource type specific, and which
                            is available from the VIM or the CISM or the
                            resource provider.

                            * NOTE: At least one attribute shall be present.
                          type: object
                          properties:
                            hostName:
                              description: >
                                Name of the host where the resource is
                                allocated. It shall be present for compute
                                resources in the scope of the CISM and shall be
                                absent otherwise. See note.
                              type: string
                            persistentVolume:
                              description: >
                                Name of the persistent volume to which the
                                persistent volume claim representing the storage
                                resource is bound. It may be present for storage
                                resources in the scope of the CISM and shall be
                                absent otherwise. See note.
                              type: string
                            additionalInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                        containerNamespace:
                          description: >
                            The value of the namespace in which the MCIO
                            corresponding to the resource is deployed. This
                            attribute shall be present if the resource is
                            managed by a CISM and it shall be absent otherwise.
                          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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                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 the CISM
                              or other resource provider. It is expected to be
                              unique within the VIM instance.
                            type: string
                    currentVnfExtCpData:
                      description: >
                        Allows the API consumer to read the current CP
                        configuration information for the connection of external
                        CPs  to the external virtual link. See note.
                      type: array
                      items:
                        description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                        type: object
                        required:
                          - cpdId
                        properties:
                          cpdId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            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 NFVO. The
                              entries shall be applied by the VNFM according to
                              the rules of JSON Merge Patch (see IETF RFC 7396).
                              See notes 2, 3 and 4.
                            type: object
                            additionalProperties:
                              description: >
                                This type represents an externally provided link
                                port, or a network attachment definition
                                resource of secondary container cluster network,
                                or network address information per instance of
                                an external connection point. In the case of
                                VM-based deployment of the VNFC exposing the
                                external CP:
                                  1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                      external VL.
                                  2.  In case 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.
                                In the case of container-based deployment of the
                                VNFC exposing the external CP, the VNFM shall
                                use the network attachment definition resource
                                of secondary container cluster network when
                                connecting the CP to the external VL.

                                * NOTE 1: The following conditions apply to the
                                attributes "linkPortId" and "cpProtocolData" for
                                an external CP
                                          instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                          1) Void.
                                          2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                          representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                          corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                          external CP instance that is to be re-configured or added to a particular external virtual link.
                                          3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                          4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                          precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                          pre-configured address information for the connection point from the resource representing the link port.
                                          5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                          cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                * NOTE 2: The following conditions apply to the
                                attributes “netAttDefResourceId” and
                                “cpProtocolData” for an external CP
                                          instance connected or to be connected to a secondary container cluster network:
                                          1) Void.
                                          2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                          a to-be-created external CP instance or an existing external CP instance.
                                * NOTE 3: Cardinality greater than 1 is only
                                applicable for specific cases where more than
                                one network attachment
                                          definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                          redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                          to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                          "NetAttDefResourceData".
                                * NOTE 4: Either linkPortId or
                                netAttDefResourceId may be included, but not
                                both.
                              anyOf:
                                - required:
                                    - linkPortId
                                - required:
                                    - cpProtocolData
                                - required:
                                    - netAttDefResourceId
                              type: object
                              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 to the VNFM the need to create a
                                    dedicated link port for the external CP. If
                                    set to True, the VNFM shall create a link
                                    port. If set to False, the VNFM shall not
                                    create a link port. 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
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceData”
                                    structure that provides the specification of
                                    the interface to attach the external CP to a
                                    secondary container cluster network. It is
                                    only applicable if the external CP is
                                    connected or to be connected to a secondary
                                    container cluster network. It shall not be
                                    present if the external CP is related to a
                                    virtual network not categorized as secondary
                                    container cluster network. See notes 2, 3
                                    and 4.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                cpProtocolData:
                                  description: >
                                    Parameters for configuring the network
                                    protocols on the link port that connects the
                                    CP to a VL. See notes 1 and 2.
                                  type: array
                                  items:
                                    description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          Identifier of layer(s) and protocol(s).
                                          Permitted values:
                                            - IP_OVER_ETHERNET.
                                            - IP_FOR_VIRTUAL_CP
                                          See note
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                          segmentationType:
                                            description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents network address
                                          data for a virtual CP.

                                          * NOTE 1: If the container cluster is
                                          set up to be able to configure an
                                          external load balancer this address will
                                          be used,
                                                    otherwise it will be ignored by the CISM.
                                          * NOTE 2: In case the cluster can
                                          configure an external load balancer but
                                          no loadBalancerIp is provided the
                                          container
                                                    cluster will assign an IP address.
                                          * NOTE 3: The attribute is only relevant
                                          if the virtual CP is instantiated in a
                                          cluster that supports configuration of
                                          IP
                                                    address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                    Kubernetes® that supports configuration of address pools for load balancer services.
                                          * NOTE 4: The loadBalancerIp and the
                                          addressPoolName attributes shall not be
                                          present at the same
                                          time.                
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: IPV4, IPV6.
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which the
                                              container cluster will assign an IP
                                              address to the virtual CP. See notes 3
                                              and 4.
                                            type: string
                    extNetAttDefResource:
                      description: >
                        Network attachment definition resources that provide the
                        specification of the interface to attach connection
                        points  to this VL.
                      type: array
                      items:
                        description: >
                          This type contains information related to a network
                          attachment definition resource that provides the 
                          specification of the interface used to connect one or
                          multiple connection points to a secondary container 
                          cluster network.
                        type: object
                        required:
                          - netAttDefResourceInfoId
                          - netAttDefResource
                        properties:
                          netAttDefResourceInfoId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          netAttDefResource:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          associatedExtCpId:
                            description: >
                              Identifier of the external CP associated to this
                              network attachment definition resource. Shall be
                              present  when the network attachment definition
                              resource is used for external connectivity by the
                              VNF.
                            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
                          associatedVnfcCpId:
                            description: >
                              Identifier of the VNFC CP associated to this
                              network attachment definition resource. May be
                              present when  the network attachment definition
                              resource is used for internal connectivity by the
                              VNF.
                            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
              modificationsTriggeredByVnfPkgChange:
                description: "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource  when changing the current VNF package. The attributes that can be included consist of those requested to  be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the  \"VnfInstance\" data structure that were modified implicitly during the operation.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n        of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n        at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n        during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n        VNF Package identified by the \"vnfdId\" attribute.\n"
                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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  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". See note 2.
                    type: string
                  vnfProductName:
                    description: >
                      If present, this attribute signals the new value of the
                      "vnfProductName" attribute in "VnfInstance". See note 2.
                    type: string
                  vnfSoftwareVersion:
                    description: |
                      A version.
                    type: string
                  vnfdVersion:
                    description: |
                      A version.
                    type: string
                  vimConnectionInfo:
                    description: >
                      If present, this attribute signals the changes to VIM
                      connection info that were passed in the related 
                      "ChangeCurrentVnfPkgRequest" structure. The provisions for
                      sensitive information defined in clause  4.4.1.6 apply.
                    type: object
                    additionalProperties:
                      description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                      type: object
                      required:
                        - vimType
                      properties:
                        vimId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vimType:
                          description: >
                            Discriminator for the different types of the VIM
                            information. The value of this attribute determines
                            the structure of the "interfaceInfo" and
                            "accessInfo" attributes, based on the type of the
                            VIM., CISM, CIR or MCIOP repository. The set of
                            permitted values is expected to change over time as
                            new types or versions of VIMs become available. The
                            ETSI NFV registry of VIM-related information
                            provides access to information about
                            VimConnectionInfo definitions for various VIM, CISM,
                            CIR or MCIOP repository types. The structure of the
                            registry is defined in annex C.
                          type: string
                        interfaceInfo:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        accessInfo:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        extra:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
              vnfSnapshotInfoId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              lcmCoordinations:
                description: >
                  Information about LCM coordination actions (see clause 10 in
                  ETSI GS NFV-SOL002) 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 VNFM as the
                        follow-up to this coordination. Value | Description
                        ------|------------ 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 VNFM. The related LCM
                        operation shall be aborted by transitioning into the
                        state "FAILED_TEMP".
                      type: string
                      enum:
                        - CONTINUE
                        - ABORT
                        - CANCELLED
                    startTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according to IETF RFC 3339.
                      type: string
                      format: date-time
                    endTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according to IETF RFC 3339.
                      type: string
                      format: date-time
                    delay:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according to IETF RFC 3339.
                      type: string
                      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. EM) •\tVNF: coordination with the VNF instance\n"
                      type: string
                      enum:
                        - MGMT
                        - VNF
              rejectedLcmCoordinations:
                description: >
                  Information about LCM coordination actions (see clause 10 in
                  ETSI GS NFV-SOL002) that were rejected by 503 error which
                  means they can be tried again after a delay. See note 5.
                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 to IETF RFC 3339.
                      type: string
                      format: date-time
                    delay:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according to IETF RFC 3339.
                      type: string
                      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. EM) •\tVNF: coordination with the VNF instance\n"
                      type: string
                      enum:
                        - MGMT
                        - VNF
              warnings:
                description: >
                  Warning messages that were generated while the operation was
                  executing.

                  If the operation has included 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
                  - vnfInstance
                properties:
                  self:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  vnfInstance:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  grant:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  cancel:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  retry:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  rollback:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  fail:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  vnfSnapshot:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
    RollbackVnfLcmOpOcc.Post.202:
      description: |
        202 ACCEPTED

        Shall be returned when the request has been accepted for processing.
        The response shall have an empty message content.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    RollbackVnfLcmOpOcc.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 [8],
        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 VNF 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    RollbackVnfLcmOpOcc.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 VNF LCM operation
        occurrence.
        Typically, this is due to the fact that the VNF 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    RetryVnfLcmOpOcc.Post.202:
      description: |
        202 ACCEPTED

        Shall be returned when the request has been accepted for processing.
        The response shall have an empty message content.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    RetryVnfLcmOpOcc.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 [8],
        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 VNF 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    RetryVnfLcmOpOcc.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 VNF LCM operation
        occurrence.
        Typically, this is due to the fact that the VNF 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    FailVnfLcmOpOcc.Post.200:
      description: >
        200 OK


        Shall be returned when the state of the VNF lifecycle management
        operation occurrence

        has been changed successfully.

        The response bofyshall include a representation of the "Individual VNF
        lifecycle operation occurrence" 

        resource.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: "This type represents a VNF lifecycle management operation occurrence.\nNOTE 1:\tThis allows the NFVO to obtain the information contained in the latest \n        \"result\" notification if it has not received it due to an error or a \n        wrongly configured subscription filter.\nNOTE 2:\tNot more than one of changedInfo and modificationsTriggeredByVnfPkgChange \n        shall be present.\nNOTE 3:\tFor a particular affected VL, there shall be as many \"AffectedVirtualLink\" \n        entries as needed for signalling the different types of changes, i.e. one \n        per virtual link and change type. For instance, in the case of signaling \n        affected VL instances involving the addition of a particular VL instance \n        with links ports, one \"AffectedVirtualLink\" entry signals the addition of \n        the VL by using the \"changeType\" attribute of \"AffectedVirtualLink\" structure \n        equal to \"ADDED\", and another \"AffectedVirtualLink\" entry signals the addition \n        of externally visible VNF link ports of the VL by using the \"changeType\" equal \n        to \"LINK_PORT_ADDED\".\nNOTE 4:\tA coordination action has timed out if the VNFM has not been able to read the \n        \"Individual coordination action\" resource within a timeout interval after requesting \n        the coordination to be started or to be cancelled. The length of the timeout interval \n        is defined by means outside the scope of the present document.\nNOTE 5:   The list of rejected coordinations may be garbage collected if the LCM operation\n        occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\" and \"ROLLED_BACK\".\n"
            type: object
            oneOf:
              - required:
                  - changedInfo
              - required:
                  - modificationsTriggeredByVnfPkgChange
            required:
              - id
              - operationState
              - stateEnteredTime
              - startTime
              - vnfInstanceId
              - operation
              - isAutomaticInvocation
              - isCancelPending
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              operationState:
                description: >
                  STARTING: The LCM operation is starting. PROCESSING: The LCM
                  operation is currently in execution. COMPLETED: The LCM
                  operation has been completed successfully. 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 won't
                  succeed. ROLLING_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 VNF prior to
                  the original operation invocation has been restored as closely
                  as possible.
                type: string
                enum:
                  - STARTING
                  - PROCESSING
                  - COMPLETED
                  - FAILED_TEMP
                  - FAILED
                  - ROLLING_BACK
                  - ROLLED_BACK
              stateEnteredTime:
                description: >
                  Date-time stamp. Representation: String formatted according to
                  IETF RFC 3339.
                type: string
                format: date-time
              startTime:
                description: >
                  Date-time stamp. Representation: String formatted according to
                  IETF RFC 3339.
                type: string
                format: date-time
              vnfInstanceId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              grantId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              operation:
                description: >
                  The enumeration LcmOpType defines the permitted values to
                  represent  VNF lifecycle operation types in VNF lifecycle
                  management operation  occurrence resources and VNF lifecycle
                  management operation occurrence  notifications.

                  Value | Description ------|------------ INSTANTIATE |
                  Represents the "Instantiate VNF" LCM operation.    SCALE |
                  Represents the "Scale VNF" LCM operation. SCALE_TO_LEVEL |
                  Represents the "Scale VNF to Level" LCM operation.
                  CHANGE_FLAVOUR | Represents the "Change VNF Flavour" LCM
                  operation. TERMINATE | Represents the "Terminate VNF" LCM
                  operation. HEAL | Represents the "Heal VNF" LCM operation.
                  OPERATE | Represents the "Operate VNF" LCM operation.
                  CHANGE_EXT_CONN | Represents the "Change external VNF
                  connectivity" LCM operation. MODIFY_INFO | Represents the
                  "Modify VNF Information" LCM operation. CREATE_SNAPSHOT |
                  Represents the "Create VNF Snapshot" LCM operation.
                  REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF Snapshot"
                  LCM operation. CHANGE_VNFPKG | Represents the "Change current
                  VNF package" LCM operation.
                type: string
                enum:
                  - INSTANTIATE
                  - SCALE
                  - SCALE_TO_LEVEL
                  - CHANGE_FLAVOUR
                  - TERMINATE
                  - HEAL
                  - OPERATE
                  - CHANGE_EXT_CONN
                  - MODIFY_INFO
                  - CREATE_SNAPSHOT
                  - REVERT_TO_SNAPSHOT
                  - CHANGE_VNFPKG
              isAutomaticInvocation:
                description: |
                  The Boolean is a data type having two values (true and false).
                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 5.7 shall
                  apply. 

                  The following mapping between operationType and the data type
                  of this attribute shall apply: * INSTANTIATE:
                  InstantiateVnfRequest * SCALE: ScaleVnfRequest *
                  SCALE_TO_LEVEL: ScaleVnfToLevelRequest * CHANGE_FLAVOUR:
                  ChangeVnfFlavourRequest * OPERATE: OperateVnfRequest * HEAL:
                  HealVnfRequest * CHANGE_EXT_CONN:
                  ChangeExtVnfConnectivityRequest * TERMINATE:
                  TerminateVnfRequest * MODIFY_INFO: VnfInfoModifications *
                  CREATE_SNAPSHOT: CreateVnfSnapshotRequest *
                  REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest *
                  CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest
                type: object
              isCancelPending:
                description: |
                  The Boolean is a data type having two values (true and false).
                type: boolean
              cancelMode:
                description: >
                  Cancellation mode. GRACEFUL: If the VNF LCM operation
                  occurrence is in "PROCESSING" or "ROLLING_BACK" state, the
                  VNFM shall not start any new resource management operation and
                  shall wait for the ongoing resource management operations in
                  the underlying system, typically the VIM, to finish execution
                  or to time out. After that, the VNFM shall put the operation
                  occurrence into the FAILED_TEMP state. If the VNF LCM
                  operation occurrence is in "STARTING" state, the VNFM shall
                  not start any resource management operation and shall wait for
                  the granting request to finish execution or time out. After
                  that, the VNFM shall put the operation occurrence into the
                  ROLLED_BACK state. FORCEFUL: If the VNF LCM operation
                  occurrence is in "PROCESSING" or "ROLLING_BACK" state, the
                  VNFM shall not start any new resource management operation,
                  shall cancel the ongoing resource management operations in the
                  underlying system, typically the VIM, and shall wait for the
                  cancellation to finish or to time out. After that, the VNFM
                  shall put the operation occurrence into the FAILED_TEMP state.
                  If the VNF LCM operation occurrence is in "STARTING" state,
                  the VNFM shall not start any resource management operation and
                  put the operation occurrence into the ROLLED_BACK state.
                type: string
                enum:
                  - GRACEFUL
                  - FORCEFUL
              error:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 is reproduced inthis structure. Compared to
                  the general framework defined in IETF RFC 7807, the "status"
                  and "detail" attributes are mandated to be included by the
                  present document, to ensure that the response contains
                  additional textual information about an error. IETF RFC 7807
                  foresees extensibility of the "ProblemDetails" type. It is
                  possible that particular APIs in the present document, or
                  particular implementations, define extensions to define
                  additional attributes that provide more information about the
                  error. The description column only provides some explanation
                  of the meaning to Facilitate understanding of the design. For
                  a full description, see IETF RFC 7807.
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 that identifies
                      the problem type. It is encouraged that the URI provides
                      human-readable documentation for the problem (e.g. using
                      HTML) when dereferenced. When this member is not present,
                      its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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:
                  affectedVnfcs:
                    description: >
                      Information about VNFC instances that were affected during
                      the lifecycle operation.  See note 1.
                    type: array
                    items:
                      description: "This type provides information about added, deleted, modified and temporary VNFCs.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer \n      (i.e. the NFVO) to assist in correlating the resource changes performed during \n      the LCM operation with the granted resources in a specific Grant exchange, which \n      is identified by the \"grantId\" available in the \"Individual VNF lifecycle management \n      operation occurrence\" and the \"id\" in the \"Individual Grant\".\n"
                      type: object
                      required:
                        - id
                        - vduId
                        - changeType
                        - 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
                        vduId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: *
                            ADDED * REMOVED * MODIFIED * TEMPORARY For a
                            temporary resource, an AffectedVnfc structure exists
                            as long as the temporary resource exists.
                          type: string
                          enum:
                            - ADDED
                            - REMOVED
                            - MODIFIED
                            - TEMPORARY
                        computeResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        resourceDefinitionId:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                        zoneId:
                          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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        affectedVnfcCpIds:
                          description: >
                            Identifiers of CP(s) of the VNFC instance that were
                            affected by the change. Shall be present for those
                            affected CPs of the VNFC instance that are
                            associated to an external CP of the VNF instance.
                            May be present for further affected CPs of the VNFC
                            instance.
                          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
                        addedStorageResourceIds:
                          description: >
                            References to VirtualStorage resources that have
                            been added. Each value refers to a
                            VirtualStorageResourceInfo item in the VnfInstance
                            that was added to the VNFC. It shall be provided if
                            at least one storage resource was added to the VNFC.
                          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
                        removedStorageResourceIds:
                          description: >
                            References to VirtualStorage resources that have
                            been removed. The value contains the identifier of a
                            VirtualStorageResourceInfo item that has been
                            removed from the VNFC, and might no longer exist in
                            the VnfInstance. It shall be provided if at least
                            one storage resource was removed from the VNFC.
                          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
                  affectedVirtualLinks:
                    description: >
                      Information about VL instances that were affected during
                      the lifecycle operation.  See notes 1 and 3.
                    type: array
                    items:
                      description: "This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports.\nNOTE 1:\tWhen signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, \n        the \"networkResource\" and \"resourceDefinitionId\" attributes refer to the affected virtual link \n        instance, not the link port instance. The resource handles of the affected VNF link ports can be \n        found by dereferencing the identifiers in the \"vnfLinkPortIds\" attribute.\nNOTE 2:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n        assist in correlating the resource changes performed during the LCM operation with the granted \n        resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n        \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n"
                      type: object
                      required:
                        - id
                        - vnfVirtualLinkDescId
                        - changeType
                        - 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
                        vnfVirtualLinkDescId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        changeType:
                          description: "Signals the type of change.\nPermitted values: -\tADDED -\tREMOVED -\tMODIFIED -\tTEMPORARY -\tLINK_PORT_ADDED -\tLINK_PORT_REMOVED For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists.  See note 1.\n"
                          type: string
                          enum:
                            - ADDED
                            - REMOVED
                            - MODIFIED
                            - TEMPORARY
                            - LINK_PORT_ADDED
                            - LINK_PORT_REMOVED
                        networkResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        vnfLinkPortIds:
                          description: >
                            Identifiers of the link ports of the affected VL
                            related to the change. Each identifier references a
                            "VnfLinkPortInfo" structure.

                            Shall be set when changeType is equal to
                            "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the
                            related "VnfLinkPortInfo" structures are present
                            (case "added") or have been present (case "removed")
                            in the "VnfVirtualLinkResourceInfo" or
                            "ExtManagedVirtualLinkInfo" structures that are
                            represented by the "vnfVirtualLinkResource¬Info" or
                            "extManagedVirtualLinkInfo" attribute in the
                            "VnfInstance" structure. See note 1.
                          type: array
                          items:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                        resourceDefinitionId:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                        zoneId:
                          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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  affectedExtLinkPorts:
                    description: >
                      Information about external VNF link ports that were
                      affected during the lifecycle operation.  See note 1.
                    type: array
                    items:
                      description: "This type provides information about added and deleted external link ports (link ports attached to external virtual links).\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to assist in correlating \n      the resource changes performed during the LCM operation with the granted resources in a specific Grant exchange, which \n      is identified by the \"grantId\" available in the \"Individual VNF lifecycle management operation occurrence\" and the \"id\" \n      in the \"Individual Grant\".\n"
                      type: object
                      required:
                        - id
                        - changeType
                        - extCpInstanceId
                        - resourceHandle
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        changeType:
                          description: "Signals the type of change. Permitted values: -\tADDED - MODIFIED -\tREMOVED\n"
                          type: string
                          enum:
                            - ADDED
                            - MODIFIED
                            - REMOVED
                        extCpInstanceId:
                          description: >
                            An identifier that is unique for the respective type
                            within a VNF instance, but may not be globally
                            unique.
                          type: string
                        resourceHandle:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        resourceDefinitionId:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                  affectedVirtualStorages:
                    description: >
                      Information about virtualised storage instances that were
                      affected during the lifecycle operation.  See note 1.
                    type: array
                    items:
                      description: "This type provides information about added, deleted, modified and temporary virtual storage resources.\nNOTE:\tThe \"resourceDefinitionId\" attribute provides information to the API consumer (i.e. the NFVO) to \n      assist in correlating the resource changes performed during the LCM operation with the granted \n      resources in a specific Grant exchange, which is identified by the \"grantId\" available in the \n      \"Individual VNF lifecycle management operation occurrence\" and the \"id\" in the \"Individual Grant\".\n"
                      type: object
                      required:
                        - id
                        - virtualStorageDescId
                        - changeType
                        - 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: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        vnfdId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: *
                            ADDED * REMOVED * MODIFIED * TEMPORARY For a
                            temporary resource, an AffectedVirtualStorage
                            structure exists as long as the temporary resource
                            exists.
                          type: string
                          enum:
                            - ADDED
                            - REMOVED
                            - MODIFIED
                            - TEMPORARY
                        storageResource:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        resourceDefinitionId:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                        zoneId:
                          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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
              changedInfo:
                description: "This type represents attribute modifications that were performed on an \"Individual  VNF instance\" resource. The attributes that can be included consist of those requested  to be modified explicitly in the \"VnfInfoModificationRequest\" data structure, and  additional attributes of the \"VnfInstance\" data structure that were modified implicitly  e.g. when modifying the referenced VNF package.\nNOTE:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) \n      was modified implicitly following a request to modify the \"vnfdId\" attribute, by \n      copying the value of this attribute from the VNFD in the VNF Package identified by \n      the \"vnfdId\" attribute.\n"
                type: object
                properties:
                  vnfInstanceName:
                    description: |
                      A string defined in IETF RFC 8259.
                    type: string
                  vnfInstanceDescription:
                    description: |
                      A string defined in IETF RFC 8259.
                    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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  vimConnectionInfo:
                    description: >
                      If present, this attribute signals modifications the
                      "vimConnectionInfo"  attribute array in "VnfInstance".
                    type: object
                    additionalProperties:
                      description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                      type: object
                      required:
                        - vimType
                      properties:
                        vimId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vimType:
                          description: >
                            Discriminator for the different types of the VIM
                            information. The value of this attribute determines
                            the structure of the "interfaceInfo" and
                            "accessInfo" attributes, based on the type of the
                            VIM., CISM, CIR or MCIOP repository. The set of
                            permitted values is expected to change over time as
                            new types or versions of VIMs become available. The
                            ETSI NFV registry of VIM-related information
                            provides access to information about
                            VimConnectionInfo definitions for various VIM, CISM,
                            CIR or MCIOP repository types. The structure of the
                            registry is defined in annex C.
                          type: string
                        interfaceInfo:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        accessInfo:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        extra:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  vnfdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfProvider:
                    description: |
                      A string defined in IETF RFC 8259.
                    type: string
                  vnfProductName:
                    description: |
                      A string defined in IETF RFC 8259.
                    type: string
                  vnfSoftwareVersion:
                    description: |
                      A version.
                    type: string
                  vnfdVersion:
                    description: |
                      A version.
                    type: string
              affectedVipCps:
                description: >
                  Information about virtual IP CP instances that were affected
                  during the execution of the lifecycle management operation.
                type: array
                items:
                  description: >
                    This type provides information about added, deleted and
                    modified virtual IP CP instances.
                  type: object
                  required:
                    - cpInstanceId
                    - cpdId
                    - changeType
                  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: |
                        An identifier that is unique within a VNF descriptor.
                      type: string
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    changeType:
                      description: "Signals the type of change. Permitted values: -\tADDED -\tREMOVED -\tMODIFIED\n"
                      type: string
                      enum:
                        - ADDED
                        - REMOVED
                        - MODIFIED
              changedExtConnectivity:
                description: >
                  Information about changed external connectivity, if
                  applicable. See note 1.
                type: array
                items:
                  description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                  type: object
                  required:
                    - id
                    - resourceHandle
                    - currentVnfExtCpData
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    resourceHandle:
                      required:
                        - resourceId
                      type: object
                      description: >
                        This type represents the information that allows
                        addressing a virtualised resource that is used by a VNF
                        instance. Information about the resource is available
                        from the VIM.

                        * NOTE 1: The value set of the "vimLevelResourceType"
                        attribute is within the scope of the VIM or CISM or the
                        resource 
                                  provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                  the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                  infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                  resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                  e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                        * NOTE 2: When the container infrastructure service
                        management is a Kubernetes® instance the resourceId
                        shall be 
                                  populated in the following way:
                                  - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                  per resource type.
                                  - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                  i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                  Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                  manifest.
                                  - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                  the 'metadata.name' field in Kubernetes® manifest.
                      properties:
                        vimConnectionId:
                          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 the CISM or
                            other resource provider. It is expected to be unique
                            within the VIM instance.
                          type: string
                        vimLevelResourceType:
                          description: >
                            Type of the resource in the scope of the VIM or the
                            CISM or the resource provider. See note 1.
                          type: string
                        vimLevelAdditionalResourceInfo:
                          description: >
                            This type represents additional resource information
                            which resource and resource type specific, and which
                            is available from the VIM or the CISM or the
                            resource provider.

                            * NOTE: At least one attribute shall be present.
                          type: object
                          properties:
                            hostName:
                              description: >
                                Name of the host where the resource is
                                allocated. It shall be present for compute
                                resources in the scope of the CISM and shall be
                                absent otherwise. See note.
                              type: string
                            persistentVolume:
                              description: >
                                Name of the persistent volume to which the
                                persistent volume claim representing the storage
                                resource is bound. It may be present for storage
                                resources in the scope of the CISM and shall be
                                absent otherwise. See note.
                              type: string
                            additionalInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                        containerNamespace:
                          description: >
                            The value of the namespace in which the MCIO
                            corresponding to the resource is deployed. This
                            attribute shall be present if the resource is
                            managed by a CISM and it shall be absent otherwise.
                          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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                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 the CISM
                              or other resource provider. It is expected to be
                              unique within the VIM instance.
                            type: string
                    currentVnfExtCpData:
                      description: >
                        Allows the API consumer to read the current CP
                        configuration information for the connection of external
                        CPs  to the external virtual link. See note.
                      type: array
                      items:
                        description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                        type: object
                        required:
                          - cpdId
                        properties:
                          cpdId:
                            description: >
                              An identifier that is unique within a VNF
                              descriptor.
                            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 NFVO. The
                              entries shall be applied by the VNFM according to
                              the rules of JSON Merge Patch (see IETF RFC 7396).
                              See notes 2, 3 and 4.
                            type: object
                            additionalProperties:
                              description: >
                                This type represents an externally provided link
                                port, or a network attachment definition
                                resource of secondary container cluster network,
                                or network address information per instance of
                                an external connection point. In the case of
                                VM-based deployment of the VNFC exposing the
                                external CP:
                                  1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                      external VL.
                                  2.  In case 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.
                                In the case of container-based deployment of the
                                VNFC exposing the external CP, the VNFM shall
                                use the network attachment definition resource
                                of secondary container cluster network when
                                connecting the CP to the external VL.

                                * NOTE 1: The following conditions apply to the
                                attributes "linkPortId" and "cpProtocolData" for
                                an external CP
                                          instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                          1) Void.
                                          2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                          representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                          corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                          external CP instance that is to be re-configured or added to a particular external virtual link.
                                          3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                          4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                          precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                          pre-configured address information for the connection point from the resource representing the link port.
                                          5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                          cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                * NOTE 2: The following conditions apply to the
                                attributes “netAttDefResourceId” and
                                “cpProtocolData” for an external CP
                                          instance connected or to be connected to a secondary container cluster network:
                                          1) Void.
                                          2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                          a to-be-created external CP instance or an existing external CP instance.
                                * NOTE 3: Cardinality greater than 1 is only
                                applicable for specific cases where more than
                                one network attachment
                                          definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                          redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                          to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                          "NetAttDefResourceData".
                                * NOTE 4: Either linkPortId or
                                netAttDefResourceId may be included, but not
                                both.
                              anyOf:
                                - required:
                                    - linkPortId
                                - required:
                                    - cpProtocolData
                                - required:
                                    - netAttDefResourceId
                              type: object
                              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 to the VNFM the need to create a
                                    dedicated link port for the external CP. If
                                    set to True, the VNFM shall create a link
                                    port. If set to False, the VNFM shall not
                                    create a link port. 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
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceData”
                                    structure that provides the specification of
                                    the interface to attach the external CP to a
                                    secondary container cluster network. It is
                                    only applicable if the external CP is
                                    connected or to be connected to a secondary
                                    container cluster network. It shall not be
                                    present if the external CP is related to a
                                    virtual network not categorized as secondary
                                    container cluster network. See notes 2, 3
                                    and 4.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                cpProtocolData:
                                  description: >
                                    Parameters for configuring the network
                                    protocols on the link port that connects the
                                    CP to a VL. See notes 1 and 2.
                                  type: array
                                  items:
                                    description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          Identifier of layer(s) and protocol(s).
                                          Permitted values:
                                            - IP_OVER_ETHERNET.
                                            - IP_FOR_VIRTUAL_CP
                                          See note
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                          segmentationType:
                                            description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents network address
                                          data for a virtual CP.

                                          * NOTE 1: If the container cluster is
                                          set up to be able to configure an
                                          external load balancer this address will
                                          be used,
                                                    otherwise it will be ignored by the CISM.
                                          * NOTE 2: In case the cluster can
                                          configure an external load balancer but
                                          no loadBalancerIp is provided the
                                          container
                                                    cluster will assign an IP address.
                                          * NOTE 3: The attribute is only relevant
                                          if the virtual CP is instantiated in a
                                          cluster that supports configuration of
                                          IP
                                                    address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                    Kubernetes® that supports configuration of address pools for load balancer services.
                                          * NOTE 4: The loadBalancerIp and the
                                          addressPoolName attributes shall not be
                                          present at the same
                                          time.                
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: IPV4, IPV6.
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which the
                                              container cluster will assign an IP
                                              address to the virtual CP. See notes 3
                                              and 4.
                                            type: string
                    extNetAttDefResource:
                      description: >
                        Network attachment definition resources that provide the
                        specification of the interface to attach connection
                        points  to this VL.
                      type: array
                      items:
                        description: >
                          This type contains information related to a network
                          attachment definition resource that provides the 
                          specification of the interface used to connect one or
                          multiple connection points to a secondary container 
                          cluster network.
                        type: object
                        required:
                          - netAttDefResourceInfoId
                          - netAttDefResource
                        properties:
                          netAttDefResourceInfoId:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          netAttDefResource:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          associatedExtCpId:
                            description: >
                              Identifier of the external CP associated to this
                              network attachment definition resource. Shall be
                              present  when the network attachment definition
                              resource is used for external connectivity by the
                              VNF.
                            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
                          associatedVnfcCpId:
                            description: >
                              Identifier of the VNFC CP associated to this
                              network attachment definition resource. May be
                              present when  the network attachment definition
                              resource is used for internal connectivity by the
                              VNF.
                            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
              modificationsTriggeredByVnfPkgChange:
                description: "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource  when changing the current VNF package. The attributes that can be included consist of those requested to  be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the  \"VnfInstance\" data structure that were modified implicitly during the operation.\nNOTE 1:\tThis attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value \n        of the attribute at the start of the \"Change current VNF package\" operation and the value of the attribute \n        at its completion.\nNOTE 2:\tIf present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly \n        during the related operation and contains a copy of the value of the related attribute from the VNFD in the \n        VNF Package identified by the \"vnfdId\" attribute.\n"
                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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  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". See note 2.
                    type: string
                  vnfProductName:
                    description: >
                      If present, this attribute signals the new value of the
                      "vnfProductName" attribute in "VnfInstance". See note 2.
                    type: string
                  vnfSoftwareVersion:
                    description: |
                      A version.
                    type: string
                  vnfdVersion:
                    description: |
                      A version.
                    type: string
                  vimConnectionInfo:
                    description: >
                      If present, this attribute signals the changes to VIM
                      connection info that were passed in the related 
                      "ChangeCurrentVnfPkgRequest" structure. The provisions for
                      sensitive information defined in clause  4.4.1.6 apply.
                    type: object
                    additionalProperties:
                      description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                      type: object
                      required:
                        - vimType
                      properties:
                        vimId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vimType:
                          description: >
                            Discriminator for the different types of the VIM
                            information. The value of this attribute determines
                            the structure of the "interfaceInfo" and
                            "accessInfo" attributes, based on the type of the
                            VIM., CISM, CIR or MCIOP repository. The set of
                            permitted values is expected to change over time as
                            new types or versions of VIMs become available. The
                            ETSI NFV registry of VIM-related information
                            provides access to information about
                            VimConnectionInfo definitions for various VIM, CISM,
                            CIR or MCIOP repository types. The structure of the
                            registry is defined in annex C.
                          type: string
                        interfaceInfo:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        accessInfo:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        extra:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
              vnfSnapshotInfoId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              lcmCoordinations:
                description: >
                  Information about LCM coordination actions (see clause 10 in
                  ETSI GS NFV-SOL002) 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 VNFM as the
                        follow-up to this coordination. Value | Description
                        ------|------------ 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 VNFM. The related LCM
                        operation shall be aborted by transitioning into the
                        state "FAILED_TEMP".
                      type: string
                      enum:
                        - CONTINUE
                        - ABORT
                        - CANCELLED
                    startTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according to IETF RFC 3339.
                      type: string
                      format: date-time
                    endTime:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according to IETF RFC 3339.
                      type: string
                      format: date-time
                    delay:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according to IETF RFC 3339.
                      type: string
                      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. EM) •\tVNF: coordination with the VNF instance\n"
                      type: string
                      enum:
                        - MGMT
                        - VNF
              rejectedLcmCoordinations:
                description: >
                  Information about LCM coordination actions (see clause 10 in
                  ETSI GS NFV-SOL002) that were rejected by 503 error which
                  means they can be tried again after a delay. See note 5.
                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 to IETF RFC 3339.
                      type: string
                      format: date-time
                    delay:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according to IETF RFC 3339.
                      type: string
                      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. EM) •\tVNF: coordination with the VNF instance\n"
                      type: string
                      enum:
                        - MGMT
                        - VNF
              warnings:
                description: >
                  Warning messages that were generated while the operation was
                  executing.

                  If the operation has included 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
                  - vnfInstance
                properties:
                  self:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  vnfInstance:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  grant:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  cancel:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  retry:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  rollback:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  fail:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  vnfSnapshot:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
    FailVnfLcmOpOcc.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 [8],
        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 VNF 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    FailVnfLcmOpOcc.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 VNF LCM operation
        occurrence.
        Typically, this is due to the fact that the VNF 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    CancelVnfLcmOpOcc.Post.202:
      description: |
        202 ACCEPTED

        Shall be returned when the request has been accepted for processing.
        The response shall have an empty message content.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

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


        Shall be returned when the subscription has been created successfully.

        The response body shall contain a representation of the created
        "Individual subscription" resource.

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

        "Individual subscription" resource.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              This type represents a subscription related to notifications about
              VNF lifecycle changes.
            type: object
            required:
              - id
              - callbackUri
              - verbosity
              - _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 VNF lifecycle changes.\nAt 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 \n      the notification types to facilitate automated code generation systems.\n"
                type: object
                properties:
                  vnfInstanceSubscriptionFilter:
                    description: "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n          that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n          but one alternative should be chosen.\n  NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n          instances in a filter. They should not be used both in the same filter instance, but one alternative\n          should be chosen.\n"
                    type: object
                    anyOf:
                      - oneOf:
                          - required:
                              - vnfdId
                          - required:
                              - vnfProductsFromProviders
                      - oneOf:
                          - required:
                              - vnfInstanceIds
                          - required:
                              - vnfInstanceNames
                    properties:
                      vnfdIds:
                        description: >
                          If present, match 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
                      vnfProductsFromProviders:
                        description: >
                          If present, match VNF instances that belong to VNF
                          products from certain providers. See note 1.
                        type: array
                        items:
                          type: object
                          required:
                            - vnfProvider
                          properties:
                            vnfProvider:
                              description: |
                                Name of the VNF provider to match.
                              type: string
                            vnfProducts:
                              description: >
                                If present, match VNF instances that belong to
                                VNF products with certain product names, from
                                one particular provider.
                              type: array
                              items:
                                type: object
                                required:
                                  - vnfProductName
                                properties:
                                  vnfProductName:
                                    description: |
                                      Name of the VNF product to match.
                                    type: string
                                  versions:
                                    description: >
                                      If present, match VNF instances that
                                      belong to VNF products with certain
                                      versions and a certain product name, from
                                      one particular provider.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - vnfSoftwareVersion
                                      properties:
                                        vnfSoftwareVersion:
                                          description: |
                                            A version.
                                          type: string
                                        vnfdVersions:
                                          description: >
                                            If present, match VNF instances that
                                            belong to VNF products with certain VNFD
                                            versions, a certain software version and
                                            a certain product name, from one
                                            particular provider.
                                          type: array
                                          items:
                                            description: |
                                              A version.
                                            type: string
                      vnfInstanceIds:
                        description: >
                          If present, match VNF 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
                      vnfInstanceNames:
                        description: >
                          If present, match VNF instances with a VNF Instance
                          Name listed in this attribute. See note 2.
                        type: array
                        items:
                          type: string
                  notificationTypes:
                    description: "Match particular notification types. \nPermitted values: -\tVnfLcmOperationOccurrenceNotification -\tVnfIdentifierCreationNotification -\tVnfIdentifierDeletionNotification See note.\n"
                    type: array
                    items:
                      type: string
                      enum:
                        - VnfLcmOperationOccurrenceNotification
                        - VnfIdentifierCreationNotification
                        - VnfIdentifierDeletionNotification
                  operationTypes:
                    description: >
                      Match particular VNF lifecycle operation types for the
                      notification of type
                      VnfLcmOperationOccurrenceNotification. May be present if
                      the "notificationTypes" attribute contains the value
                      "VnfLcmOperationOccurrenceNotification", and shall be
                      absent otherwise.
                    type: array
                    items:
                      description: >
                        The enumeration LcmOpType defines the permitted values
                        to represent  VNF lifecycle operation types in VNF
                        lifecycle management operation  occurrence resources and
                        VNF lifecycle management operation occurrence 
                        notifications.

                        Value | Description ------|------------ INSTANTIATE |
                        Represents the "Instantiate VNF" LCM operation.    SCALE
                        | Represents the "Scale VNF" LCM operation.
                        SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM
                        operation. CHANGE_FLAVOUR | Represents the "Change VNF
                        Flavour" LCM operation. TERMINATE | Represents the
                        "Terminate VNF" LCM operation. HEAL | Represents the
                        "Heal VNF" LCM operation. OPERATE | Represents the
                        "Operate VNF" LCM operation. CHANGE_EXT_CONN |
                        Represents the "Change external VNF connectivity" LCM
                        operation. MODIFY_INFO | Represents the "Modify VNF
                        Information" LCM operation. CREATE_SNAPSHOT | Represents
                        the "Create VNF Snapshot" LCM operation.
                        REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF
                        Snapshot" LCM operation. CHANGE_VNFPKG | Represents the
                        "Change current VNF package" LCM operation.
                      type: string
                      enum:
                        - INSTANTIATE
                        - SCALE
                        - SCALE_TO_LEVEL
                        - CHANGE_FLAVOUR
                        - TERMINATE
                        - HEAL
                        - OPERATE
                        - CHANGE_EXT_CONN
                        - MODIFY_INFO
                        - CREATE_SNAPSHOT
                        - REVERT_TO_SNAPSHOT
                        - CHANGE_VNFPKG
                  operationStates:
                    description: >
                      Match particular LCM operation state values as reported in
                      notifications of type
                      VnfLcmOperationOccurrenceNotification. May be present if
                      the "notificationTypes" attribute contains the value
                      "VnfLcmOperationOccurrenceNotification", and shall be
                      absent otherwise.
                    type: array
                    items:
                      description: >
                        STARTING: The LCM operation is starting. PROCESSING: The
                        LCM operation is currently in execution. COMPLETED: The
                        LCM operation has been completed successfully.
                        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 won't succeed. ROLLING_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 VNF prior to the
                        original operation invocation has been restored as
                        closely as possible.
                      type: string
                      enum:
                        - STARTING
                        - PROCESSING
                        - COMPLETED
                        - FAILED_TEMP
                        - FAILED
                        - ROLLING_BACK
                        - ROLLED_BACK
              callbackUri:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
              verbosity:
                description: >
                  The enumeration LcmOpOccNotificationVerbosityType provides
                  values to control the verbosity of LCM operation occurrence
                  notifications. * 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 using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
    Subscriptions.Post.303:
      description: |
        303 See Other

        Shall be returned if a subscription with the same
        callback URI and the same filter already exists
        and the policy of the VNFM 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:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
    Subscriptions.Post.422:
      description: >
        422 Unprocessable Content


        Shall be returned upon the following error: The content type of the
        message content is supported

        and the message content 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 [8], 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 VNFM has

        tested the Notification endpoint as described in clause 5.4.20.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:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              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.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 5.5.2.16.

        If the "filter" URI parameter was supplied in the request, the data in
        the response body shall have been

        transformed according to the rules specified in clause 5.2.2 of ETSI GS
        NFV-SOL 013.

        If the VNFM supports alternative 2 (paging) according to clause
        5.4.7.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 4.7.2.3.5.4.2.3 of ETSI GS NFV-SOL 013.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          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:
        application/json:
          schema:
            type: array
            items:
              description: >
                This type represents a subscription related to notifications
                about VNF lifecycle changes.
              type: object
              required:
                - id
                - callbackUri
                - verbosity
                - _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 VNF lifecycle changes.\nAt 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 \n      the notification types to facilitate automated code generation systems.\n"
                  type: object
                  properties:
                    vnfInstanceSubscriptionFilter:
                      description: "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n          that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n          but one alternative should be chosen.\n  NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n          instances in a filter. They should not be used both in the same filter instance, but one alternative\n          should be chosen.\n"
                      type: object
                      anyOf:
                        - oneOf:
                            - required:
                                - vnfdId
                            - required:
                                - vnfProductsFromProviders
                        - oneOf:
                            - required:
                                - vnfInstanceIds
                            - required:
                                - vnfInstanceNames
                      properties:
                        vnfdIds:
                          description: >
                            If present, match 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
                        vnfProductsFromProviders:
                          description: >
                            If present, match VNF instances that belong to VNF
                            products from certain providers. See note 1.
                          type: array
                          items:
                            type: object
                            required:
                              - vnfProvider
                            properties:
                              vnfProvider:
                                description: |
                                  Name of the VNF provider to match.
                                type: string
                              vnfProducts:
                                description: >
                                  If present, match VNF instances that belong to
                                  VNF products with certain product names, from
                                  one particular provider.
                                type: array
                                items:
                                  type: object
                                  required:
                                    - vnfProductName
                                  properties:
                                    vnfProductName:
                                      description: |
                                        Name of the VNF product to match.
                                      type: string
                                    versions:
                                      description: >
                                        If present, match VNF instances that
                                        belong to VNF products with certain
                                        versions and a certain product name,
                                        from one particular provider.
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - vnfSoftwareVersion
                                        properties:
                                          vnfSoftwareVersion:
                                            description: |
                                              A version.
                                            type: string
                                          vnfdVersions:
                                            description: >
                                              If present, match VNF instances that
                                              belong to VNF products with certain VNFD
                                              versions, a certain software version and
                                              a certain product name, from one
                                              particular provider.
                                            type: array
                                            items:
                                              description: |
                                                A version.
                                              type: string
                        vnfInstanceIds:
                          description: >
                            If present, match VNF 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
                        vnfInstanceNames:
                          description: >
                            If present, match VNF instances with a VNF Instance
                            Name listed in this attribute. See note 2.
                          type: array
                          items:
                            type: string
                    notificationTypes:
                      description: "Match particular notification types. \nPermitted values: -\tVnfLcmOperationOccurrenceNotification -\tVnfIdentifierCreationNotification -\tVnfIdentifierDeletionNotification See note.\n"
                      type: array
                      items:
                        type: string
                        enum:
                          - VnfLcmOperationOccurrenceNotification
                          - VnfIdentifierCreationNotification
                          - VnfIdentifierDeletionNotification
                    operationTypes:
                      description: >
                        Match particular VNF lifecycle operation types for the
                        notification of type
                        VnfLcmOperationOccurrenceNotification. May be present if
                        the "notificationTypes" attribute contains the value
                        "VnfLcmOperationOccurrenceNotification", and shall be
                        absent otherwise.
                      type: array
                      items:
                        description: >
                          The enumeration LcmOpType defines the permitted values
                          to represent  VNF lifecycle operation types in VNF
                          lifecycle management operation  occurrence resources
                          and VNF lifecycle management operation occurrence 
                          notifications.

                          Value | Description ------|------------ INSTANTIATE |
                          Represents the "Instantiate VNF" LCM operation.   
                          SCALE | Represents the "Scale VNF" LCM operation.
                          SCALE_TO_LEVEL | Represents the "Scale VNF to Level"
                          LCM operation. CHANGE_FLAVOUR | Represents the "Change
                          VNF Flavour" LCM operation. TERMINATE | Represents the
                          "Terminate VNF" LCM operation. HEAL | Represents the
                          "Heal VNF" LCM operation. OPERATE | Represents the
                          "Operate VNF" LCM operation. CHANGE_EXT_CONN |
                          Represents the "Change external VNF connectivity" LCM
                          operation. MODIFY_INFO | Represents the "Modify VNF
                          Information" LCM operation. CREATE_SNAPSHOT |
                          Represents the "Create VNF Snapshot" LCM operation.
                          REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF
                          Snapshot" LCM operation. CHANGE_VNFPKG | Represents
                          the "Change current VNF package" LCM operation.
                        type: string
                        enum:
                          - INSTANTIATE
                          - SCALE
                          - SCALE_TO_LEVEL
                          - CHANGE_FLAVOUR
                          - TERMINATE
                          - HEAL
                          - OPERATE
                          - CHANGE_EXT_CONN
                          - MODIFY_INFO
                          - CREATE_SNAPSHOT
                          - REVERT_TO_SNAPSHOT
                          - CHANGE_VNFPKG
                    operationStates:
                      description: >
                        Match particular LCM operation state values as reported
                        in notifications of type
                        VnfLcmOperationOccurrenceNotification. May be present if
                        the "notificationTypes" attribute contains the value
                        "VnfLcmOperationOccurrenceNotification", and shall be
                        absent otherwise.
                      type: array
                      items:
                        description: >
                          STARTING: The LCM operation is starting. PROCESSING:
                          The LCM operation is currently in execution.
                          COMPLETED: The LCM operation has been completed
                          successfully. 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
                          won't succeed. ROLLING_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 VNF prior to the original operation
                          invocation has been restored as closely as possible.
                        type: string
                        enum:
                          - STARTING
                          - PROCESSING
                          - COMPLETED
                          - FAILED_TEMP
                          - FAILED
                          - ROLLING_BACK
                          - ROLLED_BACK
                callbackUri:
                  description: |
                    String formatted according to IETF RFC 3986.
                  type: string
                verbosity:
                  description: >
                    The enumeration LcmOpOccNotificationVerbosityType provides
                    values to control the verbosity of LCM operation occurrence
                    notifications. * 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 using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
    IndividualSubscription.Get.200:
      description: >
        200 OK


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

        The response body shall contain a representation of the "Individual
        subscription" resource.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              This type represents a subscription related to notifications about
              VNF lifecycle changes.
            type: object
            required:
              - id
              - callbackUri
              - verbosity
              - _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 VNF lifecycle changes.\nAt 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 \n      the notification types to facilitate automated code generation systems.\n"
                type: object
                properties:
                  vnfInstanceSubscriptionFilter:
                    description: "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n          that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n          but one alternative should be chosen.\n  NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n          instances in a filter. They should not be used both in the same filter instance, but one alternative\n          should be chosen.\n"
                    type: object
                    anyOf:
                      - oneOf:
                          - required:
                              - vnfdId
                          - required:
                              - vnfProductsFromProviders
                      - oneOf:
                          - required:
                              - vnfInstanceIds
                          - required:
                              - vnfInstanceNames
                    properties:
                      vnfdIds:
                        description: >
                          If present, match 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
                      vnfProductsFromProviders:
                        description: >
                          If present, match VNF instances that belong to VNF
                          products from certain providers. See note 1.
                        type: array
                        items:
                          type: object
                          required:
                            - vnfProvider
                          properties:
                            vnfProvider:
                              description: |
                                Name of the VNF provider to match.
                              type: string
                            vnfProducts:
                              description: >
                                If present, match VNF instances that belong to
                                VNF products with certain product names, from
                                one particular provider.
                              type: array
                              items:
                                type: object
                                required:
                                  - vnfProductName
                                properties:
                                  vnfProductName:
                                    description: |
                                      Name of the VNF product to match.
                                    type: string
                                  versions:
                                    description: >
                                      If present, match VNF instances that
                                      belong to VNF products with certain
                                      versions and a certain product name, from
                                      one particular provider.
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - vnfSoftwareVersion
                                      properties:
                                        vnfSoftwareVersion:
                                          description: |
                                            A version.
                                          type: string
                                        vnfdVersions:
                                          description: >
                                            If present, match VNF instances that
                                            belong to VNF products with certain VNFD
                                            versions, a certain software version and
                                            a certain product name, from one
                                            particular provider.
                                          type: array
                                          items:
                                            description: |
                                              A version.
                                            type: string
                      vnfInstanceIds:
                        description: >
                          If present, match VNF 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
                      vnfInstanceNames:
                        description: >
                          If present, match VNF instances with a VNF Instance
                          Name listed in this attribute. See note 2.
                        type: array
                        items:
                          type: string
                  notificationTypes:
                    description: "Match particular notification types. \nPermitted values: -\tVnfLcmOperationOccurrenceNotification -\tVnfIdentifierCreationNotification -\tVnfIdentifierDeletionNotification See note.\n"
                    type: array
                    items:
                      type: string
                      enum:
                        - VnfLcmOperationOccurrenceNotification
                        - VnfIdentifierCreationNotification
                        - VnfIdentifierDeletionNotification
                  operationTypes:
                    description: >
                      Match particular VNF lifecycle operation types for the
                      notification of type
                      VnfLcmOperationOccurrenceNotification. May be present if
                      the "notificationTypes" attribute contains the value
                      "VnfLcmOperationOccurrenceNotification", and shall be
                      absent otherwise.
                    type: array
                    items:
                      description: >
                        The enumeration LcmOpType defines the permitted values
                        to represent  VNF lifecycle operation types in VNF
                        lifecycle management operation  occurrence resources and
                        VNF lifecycle management operation occurrence 
                        notifications.

                        Value | Description ------|------------ INSTANTIATE |
                        Represents the "Instantiate VNF" LCM operation.    SCALE
                        | Represents the "Scale VNF" LCM operation.
                        SCALE_TO_LEVEL | Represents the "Scale VNF to Level" LCM
                        operation. CHANGE_FLAVOUR | Represents the "Change VNF
                        Flavour" LCM operation. TERMINATE | Represents the
                        "Terminate VNF" LCM operation. HEAL | Represents the
                        "Heal VNF" LCM operation. OPERATE | Represents the
                        "Operate VNF" LCM operation. CHANGE_EXT_CONN |
                        Represents the "Change external VNF connectivity" LCM
                        operation. MODIFY_INFO | Represents the "Modify VNF
                        Information" LCM operation. CREATE_SNAPSHOT | Represents
                        the "Create VNF Snapshot" LCM operation.
                        REVERT_TO_SNAPSHOT | Represents the “Revert-To VNF
                        Snapshot" LCM operation. CHANGE_VNFPKG | Represents the
                        "Change current VNF package" LCM operation.
                      type: string
                      enum:
                        - INSTANTIATE
                        - SCALE
                        - SCALE_TO_LEVEL
                        - CHANGE_FLAVOUR
                        - TERMINATE
                        - HEAL
                        - OPERATE
                        - CHANGE_EXT_CONN
                        - MODIFY_INFO
                        - CREATE_SNAPSHOT
                        - REVERT_TO_SNAPSHOT
                        - CHANGE_VNFPKG
                  operationStates:
                    description: >
                      Match particular LCM operation state values as reported in
                      notifications of type
                      VnfLcmOperationOccurrenceNotification. May be present if
                      the "notificationTypes" attribute contains the value
                      "VnfLcmOperationOccurrenceNotification", and shall be
                      absent otherwise.
                    type: array
                    items:
                      description: >
                        STARTING: The LCM operation is starting. PROCESSING: The
                        LCM operation is currently in execution. COMPLETED: The
                        LCM operation has been completed successfully.
                        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 won't succeed. ROLLING_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 VNF prior to the
                        original operation invocation has been restored as
                        closely as possible.
                      type: string
                      enum:
                        - STARTING
                        - PROCESSING
                        - COMPLETED
                        - FAILED_TEMP
                        - FAILED
                        - ROLLING_BACK
                        - ROLLED_BACK
              callbackUri:
                description: |
                  String formatted according to IETF RFC 3986.
                type: string
              verbosity:
                description: >
                  The enumeration LcmOpOccNotificationVerbosityType provides
                  values to control the verbosity of LCM operation occurrence
                  notifications. * 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 using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
    IndividualSubscription.Delete.204:
      description: >
        204 NO CONTENT


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

        The response body shall be empty.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    CreateVnfSnapshotTask.Post.202:
      description: >
        202 ACCEPTED


        Shall be returned when the request was 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 "VNF LCM operation occurrence" resource corresponding
        to the operation.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    CreateVnfSnapshotTask.Post.404:
      description: >
        404 NOT FOUND


        SShall 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 [8], 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 VNF instance 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    CreateVnfSnapshotTask.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 VNF
        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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    CreateVnfSnapshotTask.Post.422:
      description: |
        422 Unprocessable Content

        Shall be returned upon the following error: The
        content type of the message content is supported and
        the message content 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 [8], 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 provided
        identifier of the target "Individual VNF snapshot"
        resource for the VNF snapshot is invalid.
        In this case, the "detail" attribute in the
        "ProblemDetails" structure shall convey more
        information about the error
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

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


        Shall be returned when the request was 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 "VNF LCM operation occurrence" resource corresponding
        to the operation.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    RevertToVnfSnapshotTask.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 [8], 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 VNF instance 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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    RevertToVnfSnapshotTask.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 VNF
        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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: >
              The definition of the general "ProblemDetails" data structure from
              IETF RFC 7807 is reproduced inthis structure. Compared to the
              general framework defined in IETF RFC 7807, the "status" and
              "detail" attributes are mandated to be included by the present
              document, to ensure that the response contains additional textual
              information about an error. IETF RFC 7807 foresees extensibility
              of the "ProblemDetails" type. It is possible that particular APIs
              in the present document, or particular implementations, define
              extensions to define additional attributes that provide more
              information about the error. The description column only provides
              some explanation of the meaning to Facilitate understanding of the
              design. For a full description, see IETF RFC 7807.
            type: object
            required:
              - status
              - detail
            properties:
              type:
                description: >
                  A URI reference according to IETF RFC 3986 that identifies the
                  problem type. It is encouraged that the URI provides
                  human-readable documentation for the problem (e.g. using HTML)
                  when dereferenced. When this member is not present, its value
                  is assumed to be "about:blank".
                type: string
                format: URI
              title:
                description: >
                  A short, human-readable summary of the problem type. It should
                  not change from occurrence to occurrence of the problem,
                  except for purposes of localization. If type is given and
                  other than "about:blank", this attribute shall also be
                  provided. A short, human-readable summary of the problem
                  type.  It SHOULD NOT change from occurrence to occurrence of
                  the problem, except for purposes of localization (e.g., using
                  proactive content negotiation; see [RFC7231], Section 3.4).
                type: string
              status:
                description: >
                  The HTTP status code for this occurrence of the problem. The
                  HTTP status code ([RFC7231], Section 6) generated by the
                  origin server for this occurrence of the problem.
                type: integer
              detail:
                description: >
                  A human-readable explanation specific to this occurrence of
                  the problem.
                type: string
              instance:
                description: >
                  A URI reference that identifies the specific occurrence of the
                  problem. It may yield further information if dereferenced.
                type: string
                format: URI
    VnfSnapshots.Post.201:
      description: >
        201 CREATED


        Shall be returned when an "Individual VNF snapshot" resource has been
        created 

        successfully.

        The response body shall contain a representation of the new "Individual
        VNF snapshot" 

        resource, as defined in clause 5.5.2.22.

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

        of the "Individual VNF snapshot" resource.
      headers:
        Location:
          description: |
            The resource URI of the created subscription resource.
          style: simple
          explode: false
          schema:
            type: string
            format: url
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/json:
          schema:
            description: |
              This type represents an "Individual VNF snapshot" resource.
            type: object
            required:
              - id
              - _links
            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.
                type: object
                required:
                  - id
                  - vnfInstanceId
                  - triggeredAt
                  - vnfdId
                  - vnfInfo
                  - 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 to IETF RFC 3339.
                    type: string
                    format: date-time
                  creationFinishedAt:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according to IETF RFC 3339.
                    type: string
                    format: date-time
                  vnfdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfInstance:
                    description: "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n"
                    type: object
                    required:
                      - id
                      - vnfdId
                      - vnfProvider
                      - vnfProductName
                      - vnfSoftwareVersion
                      - vnfdVersion
                      - instantiationState
                      - _links
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfInstanceName:
                        description: >
                          Name of the VNF instance. This attribute can be
                          modified with the PATCH method.
                        type: string
                      vnfInstanceDescription:
                        description: >
                          Human-readable description of the VNF instance. This
                          attribute can be modified with the PATCH method.
                        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.
                        type: string
                      vnfdVersion:
                        description: |
                          A version.
                        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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      vimConnectionInfo:
                        description: >
                          Information about VIM or CISM connections to be used
                          for managing the resources for the VNF instance. The
                          keys of the map, each of which identifies information
                          about a particular VIM connection, are managed by the
                          NFVO and referenced from other data structures via the
                          "vimConnectionId" attribute. This attribute shall only
                          be supported and present if - the resources of at
                          least of the VNFCs are managed by a VIM and
                          VNF-related resource management in direct mode is
                          applicable. - the resources of at least of the VNFCs
                          are managed by a CISM. This attribute can be modified
                          with the PATCH method. If VIM connection information
                          is provisioned to the VNFM by means outside the scope
                          of the present document, the information in the
                          "vimConnectionInfo" attribute provides necessary
                          information for binding the VnfInstance representing
                          the "Individual VNF instance" to the applicable VIM
                          connection information used to perform resource
                          management for the VNF instance. See also the
                          definition of the "VimConnectionInfo" in clause
                          4.4.1.6.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      cirConnectionInfo:
                        description: >
                          Information about the CIR connection for managing OS
                          container images for the VNF instance. Shall be
                          present when all or part of the VNF is realized by a
                          set of OS containers and shall be absent otherwise.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      mciopRepositoryInfo:
                        description: >
                          Information about the MCIOP repository for the VNF
                          instance. Shall be present when all or part of the VNF
                          is realized by a set of OS containers and shall be
                          absent otherwise. See note 1.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      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: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfState:
                            description: >
                              STARTED: The VNF instance is up and running.
                              STOPPED: The VNF instance has been shut down.
                            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. This
                              attribute shall be present if the VNF supports
                              scaling. See clause B.2 for an explanation of VNF
                              scaling.
                            type: array
                            items:
                              description: >
                                This type represents the scale level of a VNF
                                instance related to a scaling aspect.
                              type: object
                              required:
                                - aspectId
                                - scaleLevel
                              properties:
                                aspectId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleToLevel:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          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:
                              description: >
                                This type represents the scale level of a VNF
                                instance related to a scaling aspect.
                              type: object
                              required:
                                - aspectId
                                - scaleLevel
                              properties:
                                aspectId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleToLevel:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          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.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n        \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n        attachment definition resource is needed to fulfil the connectivity requirements of the external \n        CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n"
                              type: object
                              required:
                                - id
                                - cpdId
                                - cpConfigId
                                - cpProtocolInfo
                              oneOf:
                                - required:
                                    - associatedVnfcCpId
                                - required:
                                    - associatedVipCpId
                                - 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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                cpConfigId:
                                  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
                                cpProtocolInfo:
                                  description: |
                                    Network protocol information for this CP.
                                  type: array
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                                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
                                associatedVirtualCpId:
                                  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
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceInfo”
                                    structure that provides the specification of
                                    the interface to attach the connection point
                                    to a secondary container cluster network.
                                    See notes 3 and 4.

                                    It shall be present if the external CP is
                                    associated to a VNFC realized by one or a
                                    set of OS containers and is connected to a
                                    secondary container cluster network. It
                                    shall not be present otherwise.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      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
                            minItems: 1
                            items:
                              description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n"
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            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: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          virtualCpInfo:
                            description: >
                              Virtual CPs that are part of the VNF instance.
                              Shall be present when a particular Virtual CP is
                              associated to an external CP of the VNF instance.
                              May be present otherwise.
                            type: array
                            items:
                              description: >
                                This type provides information related to a
                                virtual CP instance of a VNF.

                                NOTE: A consumer of the VNF LCM interface can
                                learn the actual VNFC instances implementing the
                                service 
                                      accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" 
                                      and filtering by corresponding "vduIds" values.
                              type: object
                              required:
                                - cpInstanceId
                                - cpdId
                                - resourceHandle
                                - vduIds
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                resourceHandle:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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 each layer
                                    protocol supported.
                                  type: array
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            type: string
                                vduIds:
                                  description: >
                                    Reference to the VDU(s) which implement the
                                    service accessible via the virtual CP
                                    instance. See note.
                                  type: array
                                  minItems: 1
                                  items:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                additionalServiceInfo:
                                  description: >
                                    Additional service identification
                                    information of the virtual CP instance.
                                  type: array
                                  items:
                                    description: >
                                      This type provides additional service
                                      information of the virtual CP instance
                                      used to expose properties of the  virtual
                                      CP to NFV-MANO.

                                      NOTE: This attribute shall only be present
                                      if additional information is needed to
                                      identify the service 
                                            termination within the VNF, such as for example a URL path information in an HTTP request required 
                                            to allow a single virtual CP IP address to be used for several HTTP based services that use the 
                                            same port number.
                                    type: object
                                    required:
                                      - portInfo
                                    properties:
                                      portInfo:
                                        description: >
                                          Service port numbers exposed by the
                                          virtual CP instance.
                                        minItems: 1
                                        type: array
                                        items:
                                          description: >
                                            This type describes the service
                                            identifying port properties exposed by
                                            the virtual CP instance.
                                          type: object
                                          required:
                                            - name
                                            - port
                                            - portConfigurable
                                          properties:
                                            name:
                                              description: >
                                                The name of the port exposed by the
                                                virtual CP instance.
                                              type: string
                                            protocol:
                                              description: >
                                                The L4 protocol for this port exposed by
                                                the virtual CP instance.

                                                Permitted values: - TCP - UDP - SCTP
                                              type: string
                                              enum:
                                                - TCP
                                                - UDP
                                                - SCTP
                                            port:
                                              description: >
                                                The L4 port number exposed by the
                                                virtual CP instance.
                                              type: integer
                                            portConfigurable:
                                              description: >
                                                The Boolean is a data type having two
                                                values (true and false).
                                              type: boolean
                                      serviceInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          extVirtualLinkInfo:
                            description: >
                              Information about the external VLs the VNF
                              instance is connected to.
                            type: array
                            items:
                              description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                              type: object
                              required:
                                - id
                                - resourceHandle
                                - currentVnfExtCpData
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                currentVnfExtCpData:
                                  description: >
                                    Allows the API consumer to read the current
                                    CP configuration information for the
                                    connection of external CPs  to the external
                                    virtual link. See note.
                                  type: array
                                  items:
                                    description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                    type: object
                                    required:
                                      - cpdId
                                    properties:
                                      cpdId:
                                        description: >
                                          An identifier that is unique within a
                                          VNF descriptor.
                                        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
                                          NFVO. The entries shall be applied by
                                          the VNFM according to the rules of JSON
                                          Merge Patch (see IETF RFC 7396). See
                                          notes 2, 3 and 4.
                                        type: object
                                        additionalProperties:
                                          description: >
                                            This type represents an externally
                                            provided link port, or a network
                                            attachment definition resource of
                                            secondary container cluster network, or
                                            network address information per instance
                                            of an external connection point. In the
                                            case of VM-based deployment of the VNFC
                                            exposing the external CP:
                                              1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                                  external VL.
                                              2.  In case 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.
                                            In the case of container-based
                                            deployment of the VNFC exposing the
                                            external CP, the VNFM shall use the
                                            network attachment definition resource
                                            of secondary container cluster network
                                            when connecting the CP to the external
                                            VL.

                                            * NOTE 1: The following conditions apply
                                            to the attributes "linkPortId" and
                                            "cpProtocolData" for an external CP
                                                      instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                                      1) Void.
                                                      2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                                      representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                                      corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                                      external CP instance that is to be re-configured or added to a particular external virtual link.
                                                      3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                                      4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                                      precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                                      pre-configured address information for the connection point from the resource representing the link port.
                                                      5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                                      cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                            * NOTE 2: The following conditions apply
                                            to the attributes “netAttDefResourceId”
                                            and “cpProtocolData” for an external CP
                                                      instance connected or to be connected to a secondary container cluster network:
                                                      1) Void.
                                                      2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                                      a to-be-created external CP instance or an existing external CP instance.
                                            * NOTE 3: Cardinality greater than 1 is
                                            only applicable for specific cases where
                                            more than one network attachment
                                                      definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                                      redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                                      to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                                      "NetAttDefResourceData".
                                            * NOTE 4: Either linkPortId or
                                            netAttDefResourceId may be included, but
                                            not both.
                                          anyOf:
                                            - required:
                                                - linkPortId
                                            - required:
                                                - cpProtocolData
                                            - required:
                                                - netAttDefResourceId
                                          type: object
                                          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 to the VNFM the need to create
                                                a dedicated link port for the external
                                                CP. If set to True, the VNFM shall
                                                create a link port. If set to False, the
                                                VNFM shall not create a link port. 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
                                            netAttDefResourceId:
                                              description: >
                                                Identifier of the
                                                “NetAttDefResourceData” structure that
                                                provides the specification of the
                                                interface to attach the external CP to a
                                                secondary container cluster network. It
                                                is only applicable if the external CP is
                                                connected or to be connected to a
                                                secondary container cluster network. It
                                                shall not be present if the external CP
                                                is related to a virtual network not
                                                categorized as secondary container
                                                cluster network. See notes 2, 3 and 4.
                                              type: array
                                              items:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                            cpProtocolData:
                                              description: >
                                                Parameters for configuring the network
                                                protocols on the link port that connects
                                                the CP to a VL. See notes 1 and 2.
                                              type: array
                                              items:
                                                description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                                type: object
                                                required:
                                                  - layerProtocol
                                                properties:
                                                  layerProtocol:
                                                    description: >
                                                      Identifier of layer(s) and protocol(s).
                                                      Permitted values:
                                                        - IP_OVER_ETHERNET.
                                                        - IP_FOR_VIRTUAL_CP
                                                      See note
                                                    type: string
                                                    enum:
                                                      - IP_OVER_ETHERNET
                                                      - IP_FOR_VIRTUAL_CP
                                                  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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                                      segmentationType:
                                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                            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. 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
                                                                the CISM or other resource provider. It
                                                                is expected to be unique within the VIM
                                                                instance.
                                                              type: string
                                                  virtualCpAddress:
                                                    description: >
                                                      This type represents network address
                                                      data for a virtual CP.

                                                      * NOTE 1: If the container cluster is
                                                      set up to be able to configure an
                                                      external load balancer this address will
                                                      be used,
                                                                otherwise it will be ignored by the CISM.
                                                      * NOTE 2: In case the cluster can
                                                      configure an external load balancer but
                                                      no loadBalancerIp is provided the
                                                      container
                                                                cluster will assign an IP address.
                                                      * NOTE 3: The attribute is only relevant
                                                      if the virtual CP is instantiated in a
                                                      cluster that supports configuration of
                                                      IP
                                                                address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                                Kubernetes® that supports configuration of address pools for load balancer services.
                                                      * NOTE 4: The loadBalancerIp and the
                                                      addressPoolName attributes shall not be
                                                      present at the same
                                                      time.                
                                                    type: object
                                                    required:
                                                      - type
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values: IPV4, IPV6.
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      loadBalancerIp:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      addressPoolName:
                                                        description: >
                                                          Name of an address pool from which the
                                                          container cluster will assign an IP
                                                          address to the virtual CP. See notes 3
                                                          and 4.
                                                        type: string
                                extNetAttDefResource:
                                  description: >
                                    Network attachment definition resources that
                                    provide the specification of the interface
                                    to attach connection points  to this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type contains information related to
                                      a network attachment definition resource
                                      that provides the  specification of the
                                      interface used to connect one or multiple
                                      connection points to a secondary
                                      container  cluster network.
                                    type: object
                                    required:
                                      - netAttDefResourceInfoId
                                      - netAttDefResource
                                    properties:
                                      netAttDefResourceInfoId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      netAttDefResource:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            type: string
                                      associatedExtCpId:
                                        description: >
                                          Identifier of the external CP associated
                                          to this network attachment definition
                                          resource. Shall be present  when the
                                          network attachment definition resource
                                          is used for external connectivity by the
                                          VNF.
                                        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
                                      associatedVnfcCpId:
                                        description: >
                                          Identifier of the VNFC CP associated to
                                          this network attachment definition
                                          resource. May be present when  the
                                          network attachment definition resource
                                          is used for internal connectivity by the
                                          VNF.
                                        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
                          extManagedVirtualLinkInfo:
                            description: >
                              Information about the externally-managed internal
                              VLs of the VNF instance. See notes 5 and 6.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - vnfVirtualLinkDescId
                                - networkResource
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfVirtualLinkDescId:
                                  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
                                networkResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                vnfLinkPorts:
                                  description: |
                                    Link ports of this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type represents a link port of an
                                      internal VL of a VNF.

                                      NOTE 1: Either 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.
                                      NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                      provides examples for configurations where
                                      both vipCpInstanceId
                                              and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                              only vipCpInstanceId is present (UC6 and UC#6-b).
                                      NOTE 3: The value of "trunkResourceId" is
                                      scoped by the value of "vimConnectionId"
                                      in the "resourceHandle"
                                              attribute.
                                    type: object
                                    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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                vnfNetAttDefResource:
                                  description: >
                                    Network attachment definition resources that
                                    provide the specification of the interface
                                    to attach connection points to this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type contains information related to
                                      a network attachment definition resource
                                      that provides the  specification of the
                                      interface used to connect one or multiple
                                      connection points to a secondary
                                      container  cluster network.
                                    type: object
                                    required:
                                      - netAttDefResourceInfoId
                                      - netAttDefResource
                                    properties:
                                      netAttDefResourceInfoId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      netAttDefResource:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            type: string
                                      associatedExtCpId:
                                        description: >
                                          Identifier of the external CP associated
                                          to this network attachment definition
                                          resource. Shall be present  when the
                                          network attachment definition resource
                                          is used for external connectivity by the
                                          VNF.
                                        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
                                      associatedVnfcCpId:
                                        description: >
                                          Identifier of the VNFC CP associated to
                                          this network attachment definition
                                          resource. May be present when  the
                                          network attachment definition resource
                                          is used for internal connectivity by the
                                          VNF.
                                        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
                                extManagedMultisiteVirtualLinkId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          monitoringParameters:
                            description: |
                              Active monitoring parameters.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - performanceMetric
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  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. Depending on the form of virtualisation container of the VNFC:\n  - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n  - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure of\n    information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n  a) For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n  b) For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n        TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n        internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n        CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n        external CP information.\nNOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\"\n        structure by an LCM operation occurrence, this does not represent a change that requires\n        including a related \"AffectedVnfc\" structure in the VNF LCM operation occurrence notifications\n        or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\nNOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n        definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build a link\n        redundant mated pair in SR-IOV cases.\nNOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\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
                                vduId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                computeResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                storageResourceIds:
                                  description: >
                                    References to the VirtualStorage resources
                                    or references to Storage MCIOs. The value
                                    refers to a VirtualStorageResourceInfo item
                                    in the VnfInstance.
                                  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
                                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: >
                                          An identifier that is unique within a
                                          VNF descriptor.
                                        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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                          type: object
                                          required:
                                            - layerProtocol
                                          properties:
                                            layerProtocol:
                                              description: >
                                                The identifier of layer(s) and
                                                protocol(s) associated to the network
                                                address information.

                                                Permitted values:
                                                  - IP_OVER_ETHERNET
                                                  - IP_FOR_VIRTUAL_CP
                                                See note.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                                - IP_FOR_VIRTUAL_CP
                                            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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                    notes 3 and 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. 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
                                                          the CISM or other resource provider. It
                                                          is expected to be unique within the VIM
                                                          instance.
                                                        type: string
                                            virtualCpAddress:
                                              description: >
                                                This type represents information about a
                                                network address that has been assigned
                                                to a virtual CP.
                                              type: object
                                              required:
                                                - type
                                              properties:
                                                type:
                                                  description: >
                                                    The type of the IP addresses. Permitted
                                                    values: - IPV4 - IPV6
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                loadBalancerIp:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                addressPoolName:
                                                  description: >
                                                    Name of an address pool from which an IP
                                                    address is assigned to the virtual CP.
                                                  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
                                      parentCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      netAttDefResourceId:
                                        description: >
                                          Identifier of the
                                          “NetAttDefResourceInfo” structure that
                                          provides the specification of the
                                          interface to attach the connection point
                                          to a secondary container cluster
                                          network. See notes 5 and 6. It shall be
                                          present if the internal CP is associated
                                          to a VNFC realized by one or a set of OS
                                          containers and is connected to a
                                          secondary container cluster network. It
                                          shall not be present otherwise.
                                        type: array
                                        items:
                                          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 keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          vnfVirtualLinkResourceInfo:
                            description: >
                              Information about the virtualised network
                              resources used by the VLs of the VNF instance. See
                              note 6.
                            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.

                                Note: If only the value or the presence of this
                                attribute is changed in the
                                "VnfVirtualLinkResourceInfo"
                                      structure by an LCM operation occurrence, this does not represent a change that requires including
                                      a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
                                      "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                              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
                                vnfVirtualLinkDescId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                networkResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  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
                                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:
                                    description: >
                                      This type represents a link port of an
                                      internal VL of a VNF.

                                      NOTE 1: Either 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.
                                      NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                      provides examples for configurations where
                                      both vipCpInstanceId
                                              and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                              only vipCpInstanceId is present (UC6 and UC#6-b).
                                      NOTE 3: The value of "trunkResourceId" is
                                      scoped by the value of "vimConnectionId"
                                      in the "resourceHandle"
                                              attribute.
                                    type: object
                                    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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          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.

                                Note: If only the value or the presence of this
                                attribute is changed in the
                                "VirtualStorageResourceInfo"
                                      structure by an LCM operation occurrence, this does not represent a change that requires
                                      including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
                                      notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                storageResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  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
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          mcioInfo:
                            description: >
                              Information on the MCIO(s) representing VNFC
                              instance(s) realized by one or a set of OS
                              containers and created from the same VDU for the
                              VNF instance.
                            type: array
                            items:
                              description: >
                                This type provides information about an MCIO
                                representing the set of VNFC instances realized
                                by one  or a set of OS containers which have
                                been created based on the same VDU. Within the
                                CISM, an MCIO controller monitors the actual
                                state of an MCIO representing the set of VNFC 
                                instances realized by one or a set of OS
                                containers and compare it to the desired state
                                as specified  in the respective declarative
                                descriptor. It triggers actions toward the CIS
                                to align the actual to  the desired state.
                                Monitoring the actual state includes monitoring
                                the number of MCIO instances available  at any
                                specific point in time. In addition, an MCIO
                                controller maintains properties and runtime
                                information  on the MCIO instances which have
                                been created based on the same VDU. The McioInfo
                                data structure provides the runtime information
                                on the MCIOs obtained from the MCIO controller.

                                NOTE: There are different types of MCIOs. The
                                set of VNFC instances based on the same VDU is
                                represented 
                                      by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type 
                                      of MCIO, e.g. a POD.

                                Runtime information of the set of OS containers
                                realizing an individual VNFC instance is not
                                part of the  McioInfo data structure; such
                                runtime information is provided in the
                                ResourceHandle data structure  referenced from
                                the VnfcResourceInfo. The McioInfo does not
                                provide runtime information of a constituent 
                                VNFC instance created based on a specific VDU.

                                NOTE 1: The type of MCIO as specified in the
                                declarative descriptor of the MCIO, and that can
                                be read from 
                                        the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the 
                                        “kind” property of the declarative descriptor.
                                NOTE 2: If the attribute additionalInfo is
                                present, it may contain runtime information on
                                the actual and 
                                        desired state of the MCIO(s).   
                                NOTE 3: When the container infrastructure
                                service is a Kubernetes® instance, the mcioId is
                                the combined 
                                        values from the kind and name fields of the Kubernetes resource object, separated by a slash. 
                                        Example: "Deployment/abcd". 
                                NOTE 4: When the container infrastructure
                                service is a Kubernetes® instance, the mcioName
                                is the name 
                                        field of the resource object.          
                              type: object
                              required:
                                - mcioId
                                - mcioName
                                - mcioNamespace
                                - vduId
                                - cismId
                                - mcioType
                                - desiredInstances
                                - availableInstances
                              properties:
                                mcioId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                mcioName:
                                  description: >
                                    Human readable name of this MCIO. See note
                                    4.
                                  type: string
                                mcioNamespace:
                                  description: |
                                    Namespace of this MCIO.
                                  type: string
                                vduId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                cismId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                mcioType:
                                  description: >
                                    The type of MCIO. Specific values, their
                                    semantics and associated MCIO types are
                                    defined in clause  5.5.4.9. Additional
                                    values are also permitted. See note 1.
                                  type: string
                                  enum:
                                    - Deployment
                                    - Statefulset
                                desiredInstances:
                                  description: |
                                    Number of desired MCIO instances.
                                  type: integer
                                availableInstances:
                                  description: |
                                    Number of available MCIO instances.
                                  type: integer
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      _links:
                        description: |
                          Links to resources related to this resource.
                        type: object
                        required:
                          - self
                        properties:
                          self:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          indicators:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          instantiate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          terminate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          scale:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          scaleToLevel:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeFlavour:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          heal:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          operate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeExtConn:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          createSnapshot:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          revertToSnapshot:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeCurrentVnfPkg:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                  vnfcSnapshots:
                    description: >
                      Information about VNFC snapshots constituting this VNF
                      snapshot.
                    type: array
                    items:
                      description: "This type represents a VNFC snapshot.\nNOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot \n        being returned from the VIM as output data in the response message of the individual resource \n        operations. This attribute shall only be present for a VNFC snapshot that has been newly created \n        by the VNFM as a result of the \"Create VNF snapshot task\".\nNOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being \n        returned from the VIM as output data in the response message of the individual resource operations. \n        This attribute shall only be present for a VNFC snapshot with an associated storage resource and that \n        has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n"
                      type: object
                      required:
                        - id
                        - vnfcInstanceId
                        - triggeredAt
                        - vnfcResourceId
                      properties:
                        id:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                        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 to IETF RFC 3339.
                          type: string
                          format: date-time
                        creationFinishedAt:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according to IETF RFC 3339.
                          type: string
                          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:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        storageSnapshotResources:
                          description: >
                            Mapping of the storage resources associated to the
                            VNFC with the storage snapshot resources.
                          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
                              storageSnapshotResource:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  vnfStateSnapshotInfo:
                    description: >
                      This type represents information about VNF-specific state
                      snapshot data.
                    type: object
                    required:
                      - checksum
                      - isEncrypted
                    properties:
                      checksum:
                        description: |
                          Cheksum description
                        type: string
                      isEncrypted:
                        description: >
                          The Boolean is a data type having two values (true and
                          false).
                        type: boolean
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  _links:
                    description: |
                      Links to resources related to this resource.
                    type: object
                    required:
                      - self
                    properties:
                      self:
                        description: >
                          This type represents a link to a resource using an
                          absolute URI.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
                      vnfStateSnapshot:
                        description: >
                          This type represents a link to a resource using an
                          absolute URI.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
              _links:
                description: |
                  Links to resources related to this resource.
                type: object
                required:
                  - self
                properties:
                  self:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
                  takenFrom:
                    description: >
                      This type represents a link to a resource using an
                      absolute URI.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          String formatted according to IETF RFC 3986.
                        type: string
    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 5.5.2.22.

        If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1
        of ETSI GS NFV-SOL 013

        for this resource, inclusion of the Link HTTP header in this response
        shall follow the provisions 

        in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
      headers:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          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:
        application/json:
          schema:
            type: array
            items:
              description: |
                This type represents an "Individual VNF snapshot" resource.
              type: object
              required:
                - id
                - _links
              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.
                  type: object
                  required:
                    - id
                    - vnfInstanceId
                    - triggeredAt
                    - vnfdId
                    - vnfInfo
                    - 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 to IETF RFC 3339.
                      type: string
                      format: date-time
                    creationFinishedAt:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according to IETF RFC 3339.
                      type: string
                      format: date-time
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfInstance:
                      description: "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n"
                      type: object
                      required:
                        - id
                        - vnfdId
                        - vnfProvider
                        - vnfProductName
                        - vnfSoftwareVersion
                        - vnfdVersion
                        - instantiationState
                        - _links
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfInstanceName:
                          description: >
                            Name of the VNF instance. This attribute can be
                            modified with the PATCH method.
                          type: string
                        vnfInstanceDescription:
                          description: >
                            Human-readable description of the VNF instance. This
                            attribute can be modified with the PATCH method.
                          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.
                          type: string
                        vnfdVersion:
                          description: |
                            A version.
                          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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        vimConnectionInfo:
                          description: >
                            Information about VIM or CISM connections to be used
                            for managing the resources for the VNF instance. The
                            keys of the map, each of which identifies
                            information about a particular VIM connection, are
                            managed by the NFVO and referenced from other data
                            structures via the "vimConnectionId" attribute. This
                            attribute shall only be supported and present if -
                            the resources of at least of the VNFCs are managed
                            by a VIM and VNF-related resource management in
                            direct mode is applicable. - the resources of at
                            least of the VNFCs are managed by a CISM. This
                            attribute can be modified with the PATCH method. If
                            VIM connection information is provisioned to the
                            VNFM by means outside the scope of the present
                            document, the information in the "vimConnectionInfo"
                            attribute provides necessary information for binding
                            the VnfInstance representing the "Individual VNF
                            instance" to the applicable VIM connection
                            information used to perform resource management for
                            the VNF instance. See also the definition of the
                            "VimConnectionInfo" in clause 4.4.1.6.
                          type: object
                          additionalProperties:
                            description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                            type: object
                            required:
                              - vimType
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vimType:
                                description: >
                                  Discriminator for the different types of the
                                  VIM information. The value of this attribute
                                  determines the structure of the
                                  "interfaceInfo" and "accessInfo" attributes,
                                  based on the type of the VIM., CISM, CIR or
                                  MCIOP repository. The set of permitted values
                                  is expected to change over time as new types
                                  or versions of VIMs become available. The ETSI
                                  NFV registry of VIM-related information
                                  provides access to information about
                                  VimConnectionInfo definitions for various VIM,
                                  CISM, CIR or MCIOP repository types. The
                                  structure of the registry is defined in annex
                                  C.
                                type: string
                              interfaceInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              accessInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              extra:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        cirConnectionInfo:
                          description: >
                            Information about the CIR connection for managing OS
                            container images for the VNF instance. Shall be
                            present when all or part of the VNF is realized by a
                            set of OS containers and shall be absent otherwise.
                          type: object
                          additionalProperties:
                            description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                            type: object
                            required:
                              - vimType
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vimType:
                                description: >
                                  Discriminator for the different types of the
                                  VIM information. The value of this attribute
                                  determines the structure of the
                                  "interfaceInfo" and "accessInfo" attributes,
                                  based on the type of the VIM., CISM, CIR or
                                  MCIOP repository. The set of permitted values
                                  is expected to change over time as new types
                                  or versions of VIMs become available. The ETSI
                                  NFV registry of VIM-related information
                                  provides access to information about
                                  VimConnectionInfo definitions for various VIM,
                                  CISM, CIR or MCIOP repository types. The
                                  structure of the registry is defined in annex
                                  C.
                                type: string
                              interfaceInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              accessInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              extra:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        mciopRepositoryInfo:
                          description: >
                            Information about the MCIOP repository for the VNF
                            instance. Shall be present when all or part of the
                            VNF is realized by a set of OS containers and shall
                            be absent otherwise. See note 1.
                          type: object
                          additionalProperties:
                            description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                            type: object
                            required:
                              - vimType
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vimType:
                                description: >
                                  Discriminator for the different types of the
                                  VIM information. The value of this attribute
                                  determines the structure of the
                                  "interfaceInfo" and "accessInfo" attributes,
                                  based on the type of the VIM., CISM, CIR or
                                  MCIOP repository. The set of permitted values
                                  is expected to change over time as new types
                                  or versions of VIMs become available. The ETSI
                                  NFV registry of VIM-related information
                                  provides access to information about
                                  VimConnectionInfo definitions for various VIM,
                                  CISM, CIR or MCIOP repository types. The
                                  structure of the registry is defined in annex
                                  C.
                                type: string
                              interfaceInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              accessInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              extra:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        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: >
                                An identifier that is unique within a VNF
                                descriptor.
                              type: string
                            vnfState:
                              description: >
                                STARTED: The VNF instance is up and running.
                                STOPPED: The VNF instance has been shut down.
                              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. This
                                attribute shall be present if the VNF supports
                                scaling. See clause B.2 for an explanation of
                                VNF scaling.
                              type: array
                              items:
                                description: >
                                  This type represents the scale level of a VNF
                                  instance related to a scaling aspect.
                                type: object
                                required:
                                  - aspectId
                                  - scaleLevel
                                properties:
                                  aspectId:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  scaleToLevel:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                            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:
                                description: >
                                  This type represents the scale level of a VNF
                                  instance related to a scaling aspect.
                                type: object
                                required:
                                  - aspectId
                                  - scaleLevel
                                properties:
                                  aspectId:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  scaleToLevel:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                            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.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n        \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n        attachment definition resource is needed to fulfil the connectivity requirements of the external \n        CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n"
                                type: object
                                required:
                                  - id
                                  - cpdId
                                  - cpConfigId
                                  - cpProtocolInfo
                                oneOf:
                                  - required:
                                      - associatedVnfcCpId
                                  - required:
                                      - associatedVipCpId
                                  - 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: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  cpConfigId:
                                    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
                                  cpProtocolInfo:
                                    description: |
                                      Network protocol information for this CP.
                                    type: array
                                    items:
                                      description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information.

                                            Permitted values:
                                              - IP_OVER_ETHERNET
                                              - IP_FOR_VIRTUAL_CP
                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                        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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                notes 3 and 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. 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
                                                      the CISM or other resource provider. It
                                                      is expected to be unique within the VIM
                                                      instance.
                                                    type: string
                                        virtualCpAddress:
                                          description: >
                                            This type represents information about a
                                            network address that has been assigned
                                            to a virtual CP.
                                          type: object
                                          required:
                                            - type
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values: - IPV4 - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            loadBalancerIp:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            addressPoolName:
                                              description: >
                                                Name of an address pool from which an IP
                                                address is assigned to the virtual CP.
                                              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
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                                  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
                                  associatedVirtualCpId:
                                    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
                                  netAttDefResourceId:
                                    description: >
                                      Identifier of the “NetAttDefResourceInfo”
                                      structure that provides the specification
                                      of the interface to attach the connection
                                      point to a secondary container cluster
                                      network. See notes 3 and 4.

                                      It shall be present if the external CP is
                                      associated to a VNFC realized by one or a
                                      set of OS containers and is connected to a
                                      secondary container cluster network. It
                                      shall not be present otherwise.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being 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
                              minItems: 1
                              items:
                                description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n"
                                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: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information.

                                            Permitted values:
                                              - IP_OVER_ETHERNET
                                              - IP_FOR_VIRTUAL_CP
                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                        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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                notes 3 and 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. 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
                                                      the CISM or other resource provider. It
                                                      is expected to be unique within the VIM
                                                      instance.
                                                    type: string
                                        virtualCpAddress:
                                          description: >
                                            This type represents information about a
                                            network address that has been assigned
                                            to a virtual CP.
                                          type: object
                                          required:
                                            - type
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values: - IPV4 - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            loadBalancerIp:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            addressPoolName:
                                              description: >
                                                Name of an address pool from which an IP
                                                address is assigned to the virtual CP.
                                              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: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                            virtualCpInfo:
                              description: >
                                Virtual CPs that are part of the VNF instance.
                                Shall be present when a particular Virtual CP is
                                associated to an external CP of the VNF
                                instance. May be present otherwise.
                              type: array
                              items:
                                description: >
                                  This type provides information related to a
                                  virtual CP instance of a VNF.

                                  NOTE: A consumer of the VNF LCM interface can
                                  learn the actual VNFC instances implementing
                                  the service 
                                        accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" 
                                        and filtering by corresponding "vduIds" values.
                                type: object
                                required:
                                  - cpInstanceId
                                  - cpdId
                                  - resourceHandle
                                  - vduIds
                                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: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  resourceHandle:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        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 each layer
                                      protocol supported.
                                    type: array
                                    items:
                                      description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information.

                                            Permitted values:
                                              - IP_OVER_ETHERNET
                                              - IP_FOR_VIRTUAL_CP
                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                        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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                notes 3 and 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. 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
                                                      the CISM or other resource provider. It
                                                      is expected to be unique within the VIM
                                                      instance.
                                                    type: string
                                        virtualCpAddress:
                                          description: >
                                            This type represents information about a
                                            network address that has been assigned
                                            to a virtual CP.
                                          type: object
                                          required:
                                            - type
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values: - IPV4 - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            loadBalancerIp:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            addressPoolName:
                                              description: >
                                                Name of an address pool from which an IP
                                                address is assigned to the virtual CP.
                                              type: string
                                  vduIds:
                                    description: >
                                      Reference to the VDU(s) which implement
                                      the service accessible via the virtual CP
                                      instance. See note.
                                    type: array
                                    minItems: 1
                                    items:
                                      description: >
                                        An identifier that is unique within a
                                        VNF descriptor.
                                      type: string
                                  additionalServiceInfo:
                                    description: >
                                      Additional service identification
                                      information of the virtual CP instance.
                                    type: array
                                    items:
                                      description: >
                                        This type provides additional service
                                        information of the virtual CP instance
                                        used to expose properties of the 
                                        virtual CP to NFV-MANO.

                                        NOTE: This attribute shall only be
                                        present if additional information is
                                        needed to identify the service 
                                              termination within the VNF, such as for example a URL path information in an HTTP request required 
                                              to allow a single virtual CP IP address to be used for several HTTP based services that use the 
                                              same port number.
                                      type: object
                                      required:
                                        - portInfo
                                      properties:
                                        portInfo:
                                          description: >
                                            Service port numbers exposed by the
                                            virtual CP instance.
                                          minItems: 1
                                          type: array
                                          items:
                                            description: >
                                              This type describes the service
                                              identifying port properties exposed by
                                              the virtual CP instance.
                                            type: object
                                            required:
                                              - name
                                              - port
                                              - portConfigurable
                                            properties:
                                              name:
                                                description: >
                                                  The name of the port exposed by the
                                                  virtual CP instance.
                                                type: string
                                              protocol:
                                                description: >
                                                  The L4 protocol for this port exposed by
                                                  the virtual CP instance.

                                                  Permitted values: - TCP - UDP - SCTP
                                                type: string
                                                enum:
                                                  - TCP
                                                  - UDP
                                                  - SCTP
                                              port:
                                                description: >
                                                  The L4 port number exposed by the
                                                  virtual CP instance.
                                                type: integer
                                              portConfigurable:
                                                description: >
                                                  The Boolean is a data type having two
                                                  values (true and false).
                                                type: boolean
                                        serviceInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                  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
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                            extVirtualLinkInfo:
                              description: >
                                Information about the external VLs the VNF
                                instance is connected to.
                              type: array
                              items:
                                description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                  - currentVnfExtCpData
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                                          required:
                                            - resourceId
                                          type: object
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance.
                                            Information about the resource is
                                            available from the VIM.

                                            * NOTE 1: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM or CISM or
                                            the resource 
                                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                            * NOTE 2: When the container
                                            infrastructure service management is a
                                            Kubernetes® instance the resourceId
                                            shall be 
                                                      populated in the following way:
                                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                      per resource type.
                                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                      manifest.
                                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                      the 'metadata.name' field in Kubernetes® manifest.
                                          properties:
                                            vimConnectionId:
                                              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
                                                the CISM or other resource provider. It
                                                is expected to be unique within the VIM
                                                instance.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM or the CISM or the resource
                                                provider. See note 1.
                                              type: string
                                            vimLevelAdditionalResourceInfo:
                                              description: >
                                                This type represents additional resource
                                                information which resource and resource
                                                type specific, and which is available
                                                from the VIM or the CISM or the resource
                                                provider.

                                                * NOTE: At least one attribute shall be
                                                present.
                                              type: object
                                              properties:
                                                hostName:
                                                  description: >
                                                    Name of the host where the resource is
                                                    allocated. It shall be present for
                                                    compute resources in the scope of the
                                                    CISM and shall be absent otherwise. See
                                                    note.
                                                  type: string
                                                persistentVolume:
                                                  description: >
                                                    Name of the persistent volume to which
                                                    the persistent volume claim representing
                                                    the storage resource is bound. It may be
                                                    present for storage resources in the
                                                    scope of the CISM and shall be absent
                                                    otherwise. See note.
                                                  type: string
                                                additionalInfo:
                                                  description: >
                                                    This type represents a list of key-value
                                                    pairs. The order of the pairs in the
                                                    list is not significant. In JSON, a set
                                                    of keyvalue pairs is represented as an
                                                    object. It shall comply with the
                                                    provisions defined in clause 4 of IETF
                                                    RFC 8259. In the following example, a
                                                    list of key-value pairs with four keys
                                                    ("aString", "aNumber", "anArray" and
                                                    "anObject") is provided to illustrate
                                                    that the values associated with
                                                    different keys can be of different type.
                                                  type: object
                                            containerNamespace:
                                              description: >
                                                The value of the namespace in which the
                                                MCIO corresponding to the resource is
                                                deployed. This attribute shall be
                                                present if the resource is managed by a
                                                CISM and it shall be absent otherwise.
                                              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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          type: string
                                  currentVnfExtCpData:
                                    description: >
                                      Allows the API consumer to read the
                                      current CP configuration information for
                                      the connection of external CPs  to the
                                      external virtual link. See note.
                                    type: array
                                    items:
                                      description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                      type: object
                                      required:
                                        - cpdId
                                      properties:
                                        cpdId:
                                          description: >
                                            An identifier that is unique within a
                                            VNF descriptor.
                                          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
                                            NFVO. The entries shall be applied by
                                            the VNFM according to the rules of JSON
                                            Merge Patch (see IETF RFC 7396). See
                                            notes 2, 3 and 4.
                                          type: object
                                          additionalProperties:
                                            description: >
                                              This type represents an externally
                                              provided link port, or a network
                                              attachment definition resource of
                                              secondary container cluster network, or
                                              network address information per instance
                                              of an external connection point. In the
                                              case of VM-based deployment of the VNFC
                                              exposing the external CP:
                                                1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                                    external VL.
                                                2.  In case 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.
                                              In the case of container-based
                                              deployment of the VNFC exposing the
                                              external CP, the VNFM shall use the
                                              network attachment definition resource
                                              of secondary container cluster network
                                              when connecting the CP to the external
                                              VL.

                                              * NOTE 1: The following conditions apply
                                              to the attributes "linkPortId" and
                                              "cpProtocolData" for an external CP
                                                        instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                                        1) Void.
                                                        2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                                        representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                                        corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                                        external CP instance that is to be re-configured or added to a particular external virtual link.
                                                        3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                                        4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                                        precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                                        pre-configured address information for the connection point from the resource representing the link port.
                                                        5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                                        cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                              * NOTE 2: The following conditions apply
                                              to the attributes “netAttDefResourceId”
                                              and “cpProtocolData” for an external CP
                                                        instance connected or to be connected to a secondary container cluster network:
                                                        1) Void.
                                                        2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                                        a to-be-created external CP instance or an existing external CP instance.
                                              * NOTE 3: Cardinality greater than 1 is
                                              only applicable for specific cases where
                                              more than one network attachment
                                                        definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                                        redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                                        to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                                        "NetAttDefResourceData".
                                              * NOTE 4: Either linkPortId or
                                              netAttDefResourceId may be included, but
                                              not both.
                                            anyOf:
                                              - required:
                                                  - linkPortId
                                              - required:
                                                  - cpProtocolData
                                              - required:
                                                  - netAttDefResourceId
                                            type: object
                                            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 to the VNFM the need to create
                                                  a dedicated link port for the external
                                                  CP. If set to True, the VNFM shall
                                                  create a link port. If set to False, the
                                                  VNFM shall not create a link port. 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
                                              netAttDefResourceId:
                                                description: >
                                                  Identifier of the
                                                  “NetAttDefResourceData” structure that
                                                  provides the specification of the
                                                  interface to attach the external CP to a
                                                  secondary container cluster network. It
                                                  is only applicable if the external CP is
                                                  connected or to be connected to a
                                                  secondary container cluster network. It
                                                  shall not be present if the external CP
                                                  is related to a virtual network not
                                                  categorized as secondary container
                                                  cluster network. See notes 2, 3 and 4.
                                                type: array
                                                items:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                              cpProtocolData:
                                                description: >
                                                  Parameters for configuring the network
                                                  protocols on the link port that connects
                                                  the CP to a VL. See notes 1 and 2.
                                                type: array
                                                items:
                                                  description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                                  type: object
                                                  required:
                                                    - layerProtocol
                                                  properties:
                                                    layerProtocol:
                                                      description: >
                                                        Identifier of layer(s) and protocol(s).
                                                        Permitted values:
                                                          - IP_OVER_ETHERNET.
                                                          - IP_FOR_VIRTUAL_CP
                                                        See note
                                                      type: string
                                                      enum:
                                                        - IP_OVER_ETHERNET
                                                        - IP_FOR_VIRTUAL_CP
                                                    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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                                        segmentationType:
                                                          description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                              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. 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
                                                                  the CISM or other resource provider. It
                                                                  is expected to be unique within the VIM
                                                                  instance.
                                                                type: string
                                                    virtualCpAddress:
                                                      description: >
                                                        This type represents network address
                                                        data for a virtual CP.

                                                        * NOTE 1: If the container cluster is
                                                        set up to be able to configure an
                                                        external load balancer this address will
                                                        be used,
                                                                  otherwise it will be ignored by the CISM.
                                                        * NOTE 2: In case the cluster can
                                                        configure an external load balancer but
                                                        no loadBalancerIp is provided the
                                                        container
                                                                  cluster will assign an IP address.
                                                        * NOTE 3: The attribute is only relevant
                                                        if the virtual CP is instantiated in a
                                                        cluster that supports configuration of
                                                        IP
                                                                  address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                                  Kubernetes® that supports configuration of address pools for load balancer services.
                                                        * NOTE 4: The loadBalancerIp and the
                                                        addressPoolName attributes shall not be
                                                        present at the same
                                                        time.                
                                                      type: object
                                                      required:
                                                        - type
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values: IPV4, IPV6.
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        loadBalancerIp:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        addressPoolName:
                                                          description: >
                                                            Name of an address pool from which the
                                                            container cluster will assign an IP
                                                            address to the virtual CP. See notes 3
                                                            and 4.
                                                          type: string
                                  extNetAttDefResource:
                                    description: >
                                      Network attachment definition resources
                                      that provide the specification of the
                                      interface to attach connection points  to
                                      this VL.
                                    type: array
                                    items:
                                      description: >
                                        This type contains information related
                                        to a network attachment definition
                                        resource that provides the 
                                        specification of the interface used to
                                        connect one or multiple connection
                                        points to a secondary container  cluster
                                        network.
                                      type: object
                                      required:
                                        - netAttDefResourceInfoId
                                        - netAttDefResource
                                      properties:
                                        netAttDefResourceInfoId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        netAttDefResource:
                                          required:
                                            - resourceId
                                          type: object
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance.
                                            Information about the resource is
                                            available from the VIM.

                                            * NOTE 1: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM or CISM or
                                            the resource 
                                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                            * NOTE 2: When the container
                                            infrastructure service management is a
                                            Kubernetes® instance the resourceId
                                            shall be 
                                                      populated in the following way:
                                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                      per resource type.
                                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                      manifest.
                                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                      the 'metadata.name' field in Kubernetes® manifest.
                                          properties:
                                            vimConnectionId:
                                              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
                                                the CISM or other resource provider. It
                                                is expected to be unique within the VIM
                                                instance.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM or the CISM or the resource
                                                provider. See note 1.
                                              type: string
                                            vimLevelAdditionalResourceInfo:
                                              description: >
                                                This type represents additional resource
                                                information which resource and resource
                                                type specific, and which is available
                                                from the VIM or the CISM or the resource
                                                provider.

                                                * NOTE: At least one attribute shall be
                                                present.
                                              type: object
                                              properties:
                                                hostName:
                                                  description: >
                                                    Name of the host where the resource is
                                                    allocated. It shall be present for
                                                    compute resources in the scope of the
                                                    CISM and shall be absent otherwise. See
                                                    note.
                                                  type: string
                                                persistentVolume:
                                                  description: >
                                                    Name of the persistent volume to which
                                                    the persistent volume claim representing
                                                    the storage resource is bound. It may be
                                                    present for storage resources in the
                                                    scope of the CISM and shall be absent
                                                    otherwise. See note.
                                                  type: string
                                                additionalInfo:
                                                  description: >
                                                    This type represents a list of key-value
                                                    pairs. The order of the pairs in the
                                                    list is not significant. In JSON, a set
                                                    of keyvalue pairs is represented as an
                                                    object. It shall comply with the
                                                    provisions defined in clause 4 of IETF
                                                    RFC 8259. In the following example, a
                                                    list of key-value pairs with four keys
                                                    ("aString", "aNumber", "anArray" and
                                                    "anObject") is provided to illustrate
                                                    that the values associated with
                                                    different keys can be of different type.
                                                  type: object
                                            containerNamespace:
                                              description: >
                                                The value of the namespace in which the
                                                MCIO corresponding to the resource is
                                                deployed. This attribute shall be
                                                present if the resource is managed by a
                                                CISM and it shall be absent otherwise.
                                              type: string
                                        associatedExtCpId:
                                          description: >
                                            Identifier of the external CP associated
                                            to this network attachment definition
                                            resource. Shall be present  when the
                                            network attachment definition resource
                                            is used for external connectivity by the
                                            VNF.
                                          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
                                        associatedVnfcCpId:
                                          description: >
                                            Identifier of the VNFC CP associated to
                                            this network attachment definition
                                            resource. May be present when  the
                                            network attachment definition resource
                                            is used for internal connectivity by the
                                            VNF.
                                          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
                            extManagedVirtualLinkInfo:
                              description: >
                                Information about the externally-managed
                                internal VLs of the VNF instance. See notes 5
                                and 6.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - vnfVirtualLinkDescId
                                  - networkResource
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfVirtualLinkDescId:
                                    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
                                  networkResource:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        type: string
                                  vnfLinkPorts:
                                    description: |
                                      Link ports of this VL.
                                    type: array
                                    items:
                                      description: >
                                        This type represents a link port of an
                                        internal VL of a VNF.

                                        NOTE 1: Either 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.
                                        NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                        provides examples for configurations
                                        where both vipCpInstanceId
                                                and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                                only vipCpInstanceId is present (UC6 and UC#6-b).
                                        NOTE 3: The value of "trunkResourceId"
                                        is scoped by the value of
                                        "vimConnectionId" in the
                                        "resourceHandle"
                                                attribute.
                                      type: object
                                      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:
                                          required:
                                            - resourceId
                                          type: object
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance.
                                            Information about the resource is
                                            available from the VIM.

                                            * NOTE 1: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM or CISM or
                                            the resource 
                                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                            * NOTE 2: When the container
                                            infrastructure service management is a
                                            Kubernetes® instance the resourceId
                                            shall be 
                                                      populated in the following way:
                                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                      per resource type.
                                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                      manifest.
                                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                      the 'metadata.name' field in Kubernetes® manifest.
                                          properties:
                                            vimConnectionId:
                                              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
                                                the CISM or other resource provider. It
                                                is expected to be unique within the VIM
                                                instance.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM or the CISM or the resource
                                                provider. See note 1.
                                              type: string
                                            vimLevelAdditionalResourceInfo:
                                              description: >
                                                This type represents additional resource
                                                information which resource and resource
                                                type specific, and which is available
                                                from the VIM or the CISM or the resource
                                                provider.

                                                * NOTE: At least one attribute shall be
                                                present.
                                              type: object
                                              properties:
                                                hostName:
                                                  description: >
                                                    Name of the host where the resource is
                                                    allocated. It shall be present for
                                                    compute resources in the scope of the
                                                    CISM and shall be absent otherwise. See
                                                    note.
                                                  type: string
                                                persistentVolume:
                                                  description: >
                                                    Name of the persistent volume to which
                                                    the persistent volume claim representing
                                                    the storage resource is bound. It may be
                                                    present for storage resources in the
                                                    scope of the CISM and shall be absent
                                                    otherwise. See note.
                                                  type: string
                                                additionalInfo:
                                                  description: >
                                                    This type represents a list of key-value
                                                    pairs. The order of the pairs in the
                                                    list is not significant. In JSON, a set
                                                    of keyvalue pairs is represented as an
                                                    object. It shall comply with the
                                                    provisions defined in clause 4 of IETF
                                                    RFC 8259. In the following example, a
                                                    list of key-value pairs with four keys
                                                    ("aString", "aNumber", "anArray" and
                                                    "anObject") is provided to illustrate
                                                    that the values associated with
                                                    different keys can be of different type.
                                                  type: object
                                            containerNamespace:
                                              description: >
                                                The value of the namespace in which the
                                                MCIO corresponding to the resource is
                                                deployed. This attribute shall be
                                                present if the resource is managed by a
                                                CISM and it shall be absent otherwise.
                                              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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                          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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          type: string
                                  vnfNetAttDefResource:
                                    description: >
                                      Network attachment definition resources
                                      that provide the specification of the
                                      interface to attach connection points to
                                      this VL.
                                    type: array
                                    items:
                                      description: >
                                        This type contains information related
                                        to a network attachment definition
                                        resource that provides the 
                                        specification of the interface used to
                                        connect one or multiple connection
                                        points to a secondary container  cluster
                                        network.
                                      type: object
                                      required:
                                        - netAttDefResourceInfoId
                                        - netAttDefResource
                                      properties:
                                        netAttDefResourceInfoId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        netAttDefResource:
                                          required:
                                            - resourceId
                                          type: object
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance.
                                            Information about the resource is
                                            available from the VIM.

                                            * NOTE 1: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM or CISM or
                                            the resource 
                                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                            * NOTE 2: When the container
                                            infrastructure service management is a
                                            Kubernetes® instance the resourceId
                                            shall be 
                                                      populated in the following way:
                                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                      per resource type.
                                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                      manifest.
                                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                      the 'metadata.name' field in Kubernetes® manifest.
                                          properties:
                                            vimConnectionId:
                                              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
                                                the CISM or other resource provider. It
                                                is expected to be unique within the VIM
                                                instance.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM or the CISM or the resource
                                                provider. See note 1.
                                              type: string
                                            vimLevelAdditionalResourceInfo:
                                              description: >
                                                This type represents additional resource
                                                information which resource and resource
                                                type specific, and which is available
                                                from the VIM or the CISM or the resource
                                                provider.

                                                * NOTE: At least one attribute shall be
                                                present.
                                              type: object
                                              properties:
                                                hostName:
                                                  description: >
                                                    Name of the host where the resource is
                                                    allocated. It shall be present for
                                                    compute resources in the scope of the
                                                    CISM and shall be absent otherwise. See
                                                    note.
                                                  type: string
                                                persistentVolume:
                                                  description: >
                                                    Name of the persistent volume to which
                                                    the persistent volume claim representing
                                                    the storage resource is bound. It may be
                                                    present for storage resources in the
                                                    scope of the CISM and shall be absent
                                                    otherwise. See note.
                                                  type: string
                                                additionalInfo:
                                                  description: >
                                                    This type represents a list of key-value
                                                    pairs. The order of the pairs in the
                                                    list is not significant. In JSON, a set
                                                    of keyvalue pairs is represented as an
                                                    object. It shall comply with the
                                                    provisions defined in clause 4 of IETF
                                                    RFC 8259. In the following example, a
                                                    list of key-value pairs with four keys
                                                    ("aString", "aNumber", "anArray" and
                                                    "anObject") is provided to illustrate
                                                    that the values associated with
                                                    different keys can be of different type.
                                                  type: object
                                            containerNamespace:
                                              description: >
                                                The value of the namespace in which the
                                                MCIO corresponding to the resource is
                                                deployed. This attribute shall be
                                                present if the resource is managed by a
                                                CISM and it shall be absent otherwise.
                                              type: string
                                        associatedExtCpId:
                                          description: >
                                            Identifier of the external CP associated
                                            to this network attachment definition
                                            resource. Shall be present  when the
                                            network attachment definition resource
                                            is used for external connectivity by the
                                            VNF.
                                          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
                                        associatedVnfcCpId:
                                          description: >
                                            Identifier of the VNFC CP associated to
                                            this network attachment definition
                                            resource. May be present when  the
                                            network attachment definition resource
                                            is used for internal connectivity by the
                                            VNF.
                                          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
                                  extManagedMultisiteVirtualLinkId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                            monitoringParameters:
                              description: |
                                Active monitoring parameters.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - performanceMetric
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    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. Depending on the form of virtualisation container of the VNFC:\n  - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n  - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure of\n    information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n  a) For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n  b) For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n        TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n        internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n        CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n        external CP information.\nNOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\"\n        structure by an LCM operation occurrence, this does not represent a change that requires\n        including a related \"AffectedVnfc\" structure in the VNF LCM operation occurrence notifications\n        or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\nNOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n        definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build a link\n        redundant mated pair in SR-IOV cases.\nNOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\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
                                  vduId:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  computeResource:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        type: string
                                  zoneId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  storageResourceIds:
                                    description: >
                                      References to the VirtualStorage resources
                                      or references to Storage MCIOs. The value
                                      refers to a VirtualStorageResourceInfo
                                      item in the VnfInstance.
                                    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
                                  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: >
                                            An identifier that is unique within a
                                            VNF descriptor.
                                          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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                            type: object
                                            required:
                                              - layerProtocol
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  The identifier of layer(s) and
                                                  protocol(s) associated to the network
                                                  address information.

                                                  Permitted values:
                                                    - IP_OVER_ETHERNET
                                                    - IP_FOR_VIRTUAL_CP
                                                  See note.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                                  - IP_FOR_VIRTUAL_CP
                                              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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                      notes 3 and 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. 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
                                                            the CISM or other resource provider. It
                                                            is expected to be unique within the VIM
                                                            instance.
                                                          type: string
                                              virtualCpAddress:
                                                description: >
                                                  This type represents information about a
                                                  network address that has been assigned
                                                  to a virtual CP.
                                                type: object
                                                required:
                                                  - type
                                                properties:
                                                  type:
                                                    description: >
                                                      The type of the IP addresses. Permitted
                                                      values: - IPV4 - IPV6
                                                    type: string
                                                    enum:
                                                      - IPV4
                                                      - IPV6
                                                  loadBalancerIp:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  addressPoolName:
                                                    description: >
                                                      Name of an address pool from which an IP
                                                      address is assigned to the virtual CP.
                                                    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
                                        parentCpId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        netAttDefResourceId:
                                          description: >
                                            Identifier of the
                                            “NetAttDefResourceInfo” structure that
                                            provides the specification of the
                                            interface to attach the connection point
                                            to a secondary container cluster
                                            network. See notes 5 and 6. It shall be
                                            present if the internal CP is associated
                                            to a VNFC realized by one or a set of OS
                                            containers and is connected to a
                                            secondary container cluster network. It
                                            shall not be present otherwise.
                                          type: array
                                          items:
                                            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 keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                  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
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                            vnfVirtualLinkResourceInfo:
                              description: >
                                Information about the virtualised network
                                resources used by the VLs of the VNF instance.
                                See note 6.
                              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.

                                  Note: If only the value or the presence of
                                  this attribute is changed in the
                                  "VnfVirtualLinkResourceInfo"
                                        structure by an LCM operation occurrence, this does not represent a change that requires including
                                        a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
                                        "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                                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
                                  vnfVirtualLinkDescId:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  networkResource:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        type: string
                                  zoneId:
                                    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
                                  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:
                                      description: >
                                        This type represents a link port of an
                                        internal VL of a VNF.

                                        NOTE 1: Either 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.
                                        NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                        provides examples for configurations
                                        where both vipCpInstanceId
                                                and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                                only vipCpInstanceId is present (UC6 and UC#6-b).
                                        NOTE 3: The value of "trunkResourceId"
                                        is scoped by the value of
                                        "vimConnectionId" in the
                                        "resourceHandle"
                                                attribute.
                                      type: object
                                      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:
                                          required:
                                            - resourceId
                                          type: object
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance.
                                            Information about the resource is
                                            available from the VIM.

                                            * NOTE 1: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM or CISM or
                                            the resource 
                                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                            * NOTE 2: When the container
                                            infrastructure service management is a
                                            Kubernetes® instance the resourceId
                                            shall be 
                                                      populated in the following way:
                                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                      per resource type.
                                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                      manifest.
                                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                      the 'metadata.name' field in Kubernetes® manifest.
                                          properties:
                                            vimConnectionId:
                                              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
                                                the CISM or other resource provider. It
                                                is expected to be unique within the VIM
                                                instance.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM or the CISM or the resource
                                                provider. See note 1.
                                              type: string
                                            vimLevelAdditionalResourceInfo:
                                              description: >
                                                This type represents additional resource
                                                information which resource and resource
                                                type specific, and which is available
                                                from the VIM or the CISM or the resource
                                                provider.

                                                * NOTE: At least one attribute shall be
                                                present.
                                              type: object
                                              properties:
                                                hostName:
                                                  description: >
                                                    Name of the host where the resource is
                                                    allocated. It shall be present for
                                                    compute resources in the scope of the
                                                    CISM and shall be absent otherwise. See
                                                    note.
                                                  type: string
                                                persistentVolume:
                                                  description: >
                                                    Name of the persistent volume to which
                                                    the persistent volume claim representing
                                                    the storage resource is bound. It may be
                                                    present for storage resources in the
                                                    scope of the CISM and shall be absent
                                                    otherwise. See note.
                                                  type: string
                                                additionalInfo:
                                                  description: >
                                                    This type represents a list of key-value
                                                    pairs. The order of the pairs in the
                                                    list is not significant. In JSON, a set
                                                    of keyvalue pairs is represented as an
                                                    object. It shall comply with the
                                                    provisions defined in clause 4 of IETF
                                                    RFC 8259. In the following example, a
                                                    list of key-value pairs with four keys
                                                    ("aString", "aNumber", "anArray" and
                                                    "anObject") is provided to illustrate
                                                    that the values associated with
                                                    different keys can be of different type.
                                                  type: object
                                            containerNamespace:
                                              description: >
                                                The value of the namespace in which the
                                                MCIO corresponding to the resource is
                                                deployed. This attribute shall be
                                                present if the resource is managed by a
                                                CISM and it shall be absent otherwise.
                                              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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                          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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          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
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                            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.

                                  Note: If only the value or the presence of
                                  this attribute is changed in the
                                  "VirtualStorageResourceInfo"
                                        structure by an LCM operation occurrence, this does not represent a change that requires
                                        including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
                                        notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                                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: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  storageResource:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        type: string
                                  zoneId:
                                    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
                                  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
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                            mcioInfo:
                              description: >
                                Information on the MCIO(s) representing VNFC
                                instance(s) realized by one or a set of OS
                                containers and created from the same VDU for the
                                VNF instance.
                              type: array
                              items:
                                description: >
                                  This type provides information about an MCIO
                                  representing the set of VNFC instances
                                  realized by one  or a set of OS containers
                                  which have been created based on the same VDU.
                                  Within the CISM, an MCIO controller monitors
                                  the actual state of an MCIO representing the
                                  set of VNFC  instances realized by one or a
                                  set of OS containers and compare it to the
                                  desired state as specified  in the respective
                                  declarative descriptor. It triggers actions
                                  toward the CIS to align the actual to  the
                                  desired state. Monitoring the actual state
                                  includes monitoring the number of MCIO
                                  instances available  at any specific point in
                                  time. In addition, an MCIO controller
                                  maintains properties and runtime information 
                                  on the MCIO instances which have been created
                                  based on the same VDU. The McioInfo data
                                  structure provides the runtime information on
                                  the MCIOs obtained from the MCIO controller.

                                  NOTE: There are different types of MCIOs. The
                                  set of VNFC instances based on the same VDU is
                                  represented 
                                        by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type 
                                        of MCIO, e.g. a POD.

                                  Runtime information of the set of OS
                                  containers realizing an individual VNFC
                                  instance is not part of the  McioInfo data
                                  structure; such runtime information is
                                  provided in the ResourceHandle data structure 
                                  referenced from the VnfcResourceInfo. The
                                  McioInfo does not provide runtime information
                                  of a constituent  VNFC instance created based
                                  on a specific VDU.

                                  NOTE 1: The type of MCIO as specified in the
                                  declarative descriptor of the MCIO, and that
                                  can be read from 
                                          the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the 
                                          “kind” property of the declarative descriptor.
                                  NOTE 2: If the attribute additionalInfo is
                                  present, it may contain runtime information on
                                  the actual and 
                                          desired state of the MCIO(s).   
                                  NOTE 3: When the container infrastructure
                                  service is a Kubernetes® instance, the mcioId
                                  is the combined 
                                          values from the kind and name fields of the Kubernetes resource object, separated by a slash. 
                                          Example: "Deployment/abcd". 
                                  NOTE 4: When the container infrastructure
                                  service is a Kubernetes® instance, the
                                  mcioName is the name 
                                          field of the resource object.          
                                type: object
                                required:
                                  - mcioId
                                  - mcioName
                                  - mcioNamespace
                                  - vduId
                                  - cismId
                                  - mcioType
                                  - desiredInstances
                                  - availableInstances
                                properties:
                                  mcioId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  mcioName:
                                    description: >
                                      Human readable name of this MCIO. See note
                                      4.
                                    type: string
                                  mcioNamespace:
                                    description: |
                                      Namespace of this MCIO.
                                    type: string
                                  vduId:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  cismId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  mcioType:
                                    description: >
                                      The type of MCIO. Specific values, their
                                      semantics and associated MCIO types are
                                      defined in clause  5.5.4.9. Additional
                                      values are also permitted. See note 1.
                                    type: string
                                    enum:
                                      - Deployment
                                      - Statefulset
                                  desiredInstances:
                                    description: |
                                      Number of desired MCIO instances.
                                    type: integer
                                  availableInstances:
                                    description: |
                                      Number of available MCIO instances.
                                    type: integer
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        _links:
                          description: |
                            Links to resources related to this resource.
                          type: object
                          required:
                            - self
                          properties:
                            self:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            indicators:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            instantiate:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            terminate:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            scale:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            scaleToLevel:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            changeFlavour:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            heal:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            operate:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            changeExtConn:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            createSnapshot:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            revertToSnapshot:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            changeCurrentVnfPkg:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                    vnfcSnapshots:
                      description: >
                        Information about VNFC snapshots constituting this VNF
                        snapshot.
                      type: array
                      items:
                        description: "This type represents a VNFC snapshot.\nNOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot \n        being returned from the VIM as output data in the response message of the individual resource \n        operations. This attribute shall only be present for a VNFC snapshot that has been newly created \n        by the VNFM as a result of the \"Create VNF snapshot task\".\nNOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being \n        returned from the VIM as output data in the response message of the individual resource operations. \n        This attribute shall only be present for a VNFC snapshot with an associated storage resource and that \n        has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n"
                        type: object
                        required:
                          - id
                          - vnfcInstanceId
                          - triggeredAt
                          - vnfcResourceId
                        properties:
                          id:
                            description: >
                              An identifier that is unique within a limited
                              local scope other than above listed identifiers,
                              such as within a complex data structure or within
                              a request-response pair. Representation: string of
                              variable length.
                            type: string
                          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 to IETF RFC 3339.
                            type: string
                            format: date-time
                          creationFinishedAt:
                            description: >
                              Date-time stamp. Representation: String formatted
                              according to IETF RFC 3339.
                            type: string
                            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:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          storageSnapshotResources:
                            description: >
                              Mapping of the storage resources associated to the
                              VNFC with the storage snapshot resources.
                            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
                                storageSnapshotResource:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          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 keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                    vnfStateSnapshotInfo:
                      description: >
                        This type represents information about VNF-specific
                        state snapshot data.
                      type: object
                      required:
                        - checksum
                        - isEncrypted
                      properties:
                        checksum:
                          description: |
                            Cheksum description
                          type: string
                        isEncrypted:
                          description: >
                            The Boolean is a data type having two values (true
                            and false).
                          type: boolean
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                    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 keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    _links:
                      description: |
                        Links to resources related to this resource.
                      type: object
                      required:
                        - self
                      properties:
                        self:
                          description: >
                            This type represents a link to a resource using an
                            absolute URI.
                          type: object
                          required:
                            - href
                          properties:
                            href:
                              description: |
                                String formatted according to IETF RFC 3986.
                              type: string
                        vnfStateSnapshot:
                          description: >
                            This type represents a link to a resource using an
                            absolute URI.
                          type: object
                          required:
                            - href
                          properties:
                            href:
                              description: |
                                String formatted according to IETF RFC 3986.
                              type: string
                _links:
                  description: |
                    Links to resources related to this resource.
                  type: object
                  required:
                    - self
                  properties:
                    self:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    takenFrom:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
    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 5.5.2.22.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        ETag:
          description: >
            Used to provide the current entity-tag for the selected resource
            representation. It can be sent in "200 OK", "201 Created" and "204
            No Content" responses.
          style: simple
          schema:
            type: string
        Last-Modified:
          description: >
            Used to provide a timestamp indicating the date and time at which
            the server believes the selected resource representation was last
            modified. It can be sent in "200 OK", "201 Created" and "204 No
            Content" responses.
          style: simple
          schema:
            type: string
            format: date-time
      content:
        application/json:
          schema:
            type: array
            items:
              description: |
                This type represents an "Individual VNF snapshot" resource.
              type: object
              required:
                - id
                - _links
              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.
                  type: object
                  required:
                    - id
                    - vnfInstanceId
                    - triggeredAt
                    - vnfdId
                    - vnfInfo
                    - 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 to IETF RFC 3339.
                      type: string
                      format: date-time
                    creationFinishedAt:
                      description: >
                        Date-time stamp. Representation: String formatted
                        according to IETF RFC 3339.
                      type: string
                      format: date-time
                    vnfdId:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    vnfInstance:
                      description: "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n"
                      type: object
                      required:
                        - id
                        - vnfdId
                        - vnfProvider
                        - vnfProductName
                        - vnfSoftwareVersion
                        - vnfdVersion
                        - instantiationState
                        - _links
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vnfInstanceName:
                          description: >
                            Name of the VNF instance. This attribute can be
                            modified with the PATCH method.
                          type: string
                        vnfInstanceDescription:
                          description: >
                            Human-readable description of the VNF instance. This
                            attribute can be modified with the PATCH method.
                          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.
                          type: string
                        vnfdVersion:
                          description: |
                            A version.
                          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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        vimConnectionInfo:
                          description: >
                            Information about VIM or CISM connections to be used
                            for managing the resources for the VNF instance. The
                            keys of the map, each of which identifies
                            information about a particular VIM connection, are
                            managed by the NFVO and referenced from other data
                            structures via the "vimConnectionId" attribute. This
                            attribute shall only be supported and present if -
                            the resources of at least of the VNFCs are managed
                            by a VIM and VNF-related resource management in
                            direct mode is applicable. - the resources of at
                            least of the VNFCs are managed by a CISM. This
                            attribute can be modified with the PATCH method. If
                            VIM connection information is provisioned to the
                            VNFM by means outside the scope of the present
                            document, the information in the "vimConnectionInfo"
                            attribute provides necessary information for binding
                            the VnfInstance representing the "Individual VNF
                            instance" to the applicable VIM connection
                            information used to perform resource management for
                            the VNF instance. See also the definition of the
                            "VimConnectionInfo" in clause 4.4.1.6.
                          type: object
                          additionalProperties:
                            description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                            type: object
                            required:
                              - vimType
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vimType:
                                description: >
                                  Discriminator for the different types of the
                                  VIM information. The value of this attribute
                                  determines the structure of the
                                  "interfaceInfo" and "accessInfo" attributes,
                                  based on the type of the VIM., CISM, CIR or
                                  MCIOP repository. The set of permitted values
                                  is expected to change over time as new types
                                  or versions of VIMs become available. The ETSI
                                  NFV registry of VIM-related information
                                  provides access to information about
                                  VimConnectionInfo definitions for various VIM,
                                  CISM, CIR or MCIOP repository types. The
                                  structure of the registry is defined in annex
                                  C.
                                type: string
                              interfaceInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              accessInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              extra:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        cirConnectionInfo:
                          description: >
                            Information about the CIR connection for managing OS
                            container images for the VNF instance. Shall be
                            present when all or part of the VNF is realized by a
                            set of OS containers and shall be absent otherwise.
                          type: object
                          additionalProperties:
                            description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                            type: object
                            required:
                              - vimType
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vimType:
                                description: >
                                  Discriminator for the different types of the
                                  VIM information. The value of this attribute
                                  determines the structure of the
                                  "interfaceInfo" and "accessInfo" attributes,
                                  based on the type of the VIM., CISM, CIR or
                                  MCIOP repository. The set of permitted values
                                  is expected to change over time as new types
                                  or versions of VIMs become available. The ETSI
                                  NFV registry of VIM-related information
                                  provides access to information about
                                  VimConnectionInfo definitions for various VIM,
                                  CISM, CIR or MCIOP repository types. The
                                  structure of the registry is defined in annex
                                  C.
                                type: string
                              interfaceInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              accessInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              extra:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        mciopRepositoryInfo:
                          description: >
                            Information about the MCIOP repository for the VNF
                            instance. Shall be present when all or part of the
                            VNF is realized by a set of OS containers and shall
                            be absent otherwise. See note 1.
                          type: object
                          additionalProperties:
                            description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                            type: object
                            required:
                              - vimType
                            properties:
                              vimId:
                                description: >
                                  An identifier with the intention of being
                                  globally unique.
                                type: string
                              vimType:
                                description: >
                                  Discriminator for the different types of the
                                  VIM information. The value of this attribute
                                  determines the structure of the
                                  "interfaceInfo" and "accessInfo" attributes,
                                  based on the type of the VIM., CISM, CIR or
                                  MCIOP repository. The set of permitted values
                                  is expected to change over time as new types
                                  or versions of VIMs become available. The ETSI
                                  NFV registry of VIM-related information
                                  provides access to information about
                                  VimConnectionInfo definitions for various VIM,
                                  CISM, CIR or MCIOP repository types. The
                                  structure of the registry is defined in annex
                                  C.
                                type: string
                              interfaceInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              accessInfo:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                              extra:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        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: >
                                An identifier that is unique within a VNF
                                descriptor.
                              type: string
                            vnfState:
                              description: >
                                STARTED: The VNF instance is up and running.
                                STOPPED: The VNF instance has been shut down.
                              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. This
                                attribute shall be present if the VNF supports
                                scaling. See clause B.2 for an explanation of
                                VNF scaling.
                              type: array
                              items:
                                description: >
                                  This type represents the scale level of a VNF
                                  instance related to a scaling aspect.
                                type: object
                                required:
                                  - aspectId
                                  - scaleLevel
                                properties:
                                  aspectId:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  scaleToLevel:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                            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:
                                description: >
                                  This type represents the scale level of a VNF
                                  instance related to a scaling aspect.
                                type: object
                                required:
                                  - aspectId
                                  - scaleLevel
                                properties:
                                  aspectId:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  scaleToLevel:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                            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.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n        \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n        attachment definition resource is needed to fulfil the connectivity requirements of the external \n        CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n"
                                type: object
                                required:
                                  - id
                                  - cpdId
                                  - cpConfigId
                                  - cpProtocolInfo
                                oneOf:
                                  - required:
                                      - associatedVnfcCpId
                                  - required:
                                      - associatedVipCpId
                                  - 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: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  cpConfigId:
                                    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
                                  cpProtocolInfo:
                                    description: |
                                      Network protocol information for this CP.
                                    type: array
                                    items:
                                      description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information.

                                            Permitted values:
                                              - IP_OVER_ETHERNET
                                              - IP_FOR_VIRTUAL_CP
                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                        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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                notes 3 and 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. 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
                                                      the CISM or other resource provider. It
                                                      is expected to be unique within the VIM
                                                      instance.
                                                    type: string
                                        virtualCpAddress:
                                          description: >
                                            This type represents information about a
                                            network address that has been assigned
                                            to a virtual CP.
                                          type: object
                                          required:
                                            - type
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values: - IPV4 - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            loadBalancerIp:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            addressPoolName:
                                              description: >
                                                Name of an address pool from which an IP
                                                address is assigned to the virtual CP.
                                              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
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                                  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
                                  associatedVirtualCpId:
                                    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
                                  netAttDefResourceId:
                                    description: >
                                      Identifier of the “NetAttDefResourceInfo”
                                      structure that provides the specification
                                      of the interface to attach the connection
                                      point to a secondary container cluster
                                      network. See notes 3 and 4.

                                      It shall be present if the external CP is
                                      associated to a VNFC realized by one or a
                                      set of OS containers and is connected to a
                                      secondary container cluster network. It
                                      shall not be present otherwise.
                                    type: array
                                    items:
                                      description: >
                                        An identifier with the intention of
                                        being 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
                              minItems: 1
                              items:
                                description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n"
                                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: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information.

                                            Permitted values:
                                              - IP_OVER_ETHERNET
                                              - IP_FOR_VIRTUAL_CP
                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                        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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                notes 3 and 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. 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
                                                      the CISM or other resource provider. It
                                                      is expected to be unique within the VIM
                                                      instance.
                                                    type: string
                                        virtualCpAddress:
                                          description: >
                                            This type represents information about a
                                            network address that has been assigned
                                            to a virtual CP.
                                          type: object
                                          required:
                                            - type
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values: - IPV4 - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            loadBalancerIp:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            addressPoolName:
                                              description: >
                                                Name of an address pool from which an IP
                                                address is assigned to the virtual CP.
                                              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: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                            virtualCpInfo:
                              description: >
                                Virtual CPs that are part of the VNF instance.
                                Shall be present when a particular Virtual CP is
                                associated to an external CP of the VNF
                                instance. May be present otherwise.
                              type: array
                              items:
                                description: >
                                  This type provides information related to a
                                  virtual CP instance of a VNF.

                                  NOTE: A consumer of the VNF LCM interface can
                                  learn the actual VNFC instances implementing
                                  the service 
                                        accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" 
                                        and filtering by corresponding "vduIds" values.
                                type: object
                                required:
                                  - cpInstanceId
                                  - cpdId
                                  - resourceHandle
                                  - vduIds
                                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: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  resourceHandle:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        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 each layer
                                      protocol supported.
                                    type: array
                                    items:
                                      description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                      type: object
                                      required:
                                        - layerProtocol
                                      properties:
                                        layerProtocol:
                                          description: >
                                            The identifier of layer(s) and
                                            protocol(s) associated to the network
                                            address information.

                                            Permitted values:
                                              - IP_OVER_ETHERNET
                                              - IP_FOR_VIRTUAL_CP
                                            See note.
                                          type: string
                                          enum:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                        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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                notes 3 and 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. 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
                                                      the CISM or other resource provider. It
                                                      is expected to be unique within the VIM
                                                      instance.
                                                    type: string
                                        virtualCpAddress:
                                          description: >
                                            This type represents information about a
                                            network address that has been assigned
                                            to a virtual CP.
                                          type: object
                                          required:
                                            - type
                                          properties:
                                            type:
                                              description: >
                                                The type of the IP addresses. Permitted
                                                values: - IPV4 - IPV6
                                              type: string
                                              enum:
                                                - IPV4
                                                - IPV6
                                            loadBalancerIp:
                                              description: >
                                                An IPV4 or IPV6 address. Representation:
                                                In case of an IPV4 address, string that
                                                consists of four decimal integers
                                                separated by dots, each integer ranging
                                                from 0 to 255. In case of an IPV6
                                                address, string that consists of groups
                                                of zero to four hexadecimal digits,
                                                separated by colons.
                                              type: string
                                              format: IP
                                            addressPoolName:
                                              description: >
                                                Name of an address pool from which an IP
                                                address is assigned to the virtual CP.
                                              type: string
                                  vduIds:
                                    description: >
                                      Reference to the VDU(s) which implement
                                      the service accessible via the virtual CP
                                      instance. See note.
                                    type: array
                                    minItems: 1
                                    items:
                                      description: >
                                        An identifier that is unique within a
                                        VNF descriptor.
                                      type: string
                                  additionalServiceInfo:
                                    description: >
                                      Additional service identification
                                      information of the virtual CP instance.
                                    type: array
                                    items:
                                      description: >
                                        This type provides additional service
                                        information of the virtual CP instance
                                        used to expose properties of the 
                                        virtual CP to NFV-MANO.

                                        NOTE: This attribute shall only be
                                        present if additional information is
                                        needed to identify the service 
                                              termination within the VNF, such as for example a URL path information in an HTTP request required 
                                              to allow a single virtual CP IP address to be used for several HTTP based services that use the 
                                              same port number.
                                      type: object
                                      required:
                                        - portInfo
                                      properties:
                                        portInfo:
                                          description: >
                                            Service port numbers exposed by the
                                            virtual CP instance.
                                          minItems: 1
                                          type: array
                                          items:
                                            description: >
                                              This type describes the service
                                              identifying port properties exposed by
                                              the virtual CP instance.
                                            type: object
                                            required:
                                              - name
                                              - port
                                              - portConfigurable
                                            properties:
                                              name:
                                                description: >
                                                  The name of the port exposed by the
                                                  virtual CP instance.
                                                type: string
                                              protocol:
                                                description: >
                                                  The L4 protocol for this port exposed by
                                                  the virtual CP instance.

                                                  Permitted values: - TCP - UDP - SCTP
                                                type: string
                                                enum:
                                                  - TCP
                                                  - UDP
                                                  - SCTP
                                              port:
                                                description: >
                                                  The L4 port number exposed by the
                                                  virtual CP instance.
                                                type: integer
                                              portConfigurable:
                                                description: >
                                                  The Boolean is a data type having two
                                                  values (true and false).
                                                type: boolean
                                        serviceInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                  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
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                            extVirtualLinkInfo:
                              description: >
                                Information about the external VLs the VNF
                                instance is connected to.
                              type: array
                              items:
                                description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                                type: object
                                required:
                                  - id
                                  - resourceHandle
                                  - currentVnfExtCpData
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  resourceHandle:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                                          required:
                                            - resourceId
                                          type: object
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance.
                                            Information about the resource is
                                            available from the VIM.

                                            * NOTE 1: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM or CISM or
                                            the resource 
                                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                            * NOTE 2: When the container
                                            infrastructure service management is a
                                            Kubernetes® instance the resourceId
                                            shall be 
                                                      populated in the following way:
                                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                      per resource type.
                                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                      manifest.
                                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                      the 'metadata.name' field in Kubernetes® manifest.
                                          properties:
                                            vimConnectionId:
                                              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
                                                the CISM or other resource provider. It
                                                is expected to be unique within the VIM
                                                instance.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM or the CISM or the resource
                                                provider. See note 1.
                                              type: string
                                            vimLevelAdditionalResourceInfo:
                                              description: >
                                                This type represents additional resource
                                                information which resource and resource
                                                type specific, and which is available
                                                from the VIM or the CISM or the resource
                                                provider.

                                                * NOTE: At least one attribute shall be
                                                present.
                                              type: object
                                              properties:
                                                hostName:
                                                  description: >
                                                    Name of the host where the resource is
                                                    allocated. It shall be present for
                                                    compute resources in the scope of the
                                                    CISM and shall be absent otherwise. See
                                                    note.
                                                  type: string
                                                persistentVolume:
                                                  description: >
                                                    Name of the persistent volume to which
                                                    the persistent volume claim representing
                                                    the storage resource is bound. It may be
                                                    present for storage resources in the
                                                    scope of the CISM and shall be absent
                                                    otherwise. See note.
                                                  type: string
                                                additionalInfo:
                                                  description: >
                                                    This type represents a list of key-value
                                                    pairs. The order of the pairs in the
                                                    list is not significant. In JSON, a set
                                                    of keyvalue pairs is represented as an
                                                    object. It shall comply with the
                                                    provisions defined in clause 4 of IETF
                                                    RFC 8259. In the following example, a
                                                    list of key-value pairs with four keys
                                                    ("aString", "aNumber", "anArray" and
                                                    "anObject") is provided to illustrate
                                                    that the values associated with
                                                    different keys can be of different type.
                                                  type: object
                                            containerNamespace:
                                              description: >
                                                The value of the namespace in which the
                                                MCIO corresponding to the resource is
                                                deployed. This attribute shall be
                                                present if the resource is managed by a
                                                CISM and it shall be absent otherwise.
                                              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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          type: string
                                  currentVnfExtCpData:
                                    description: >
                                      Allows the API consumer to read the
                                      current CP configuration information for
                                      the connection of external CPs  to the
                                      external virtual link. See note.
                                    type: array
                                    items:
                                      description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                      type: object
                                      required:
                                        - cpdId
                                      properties:
                                        cpdId:
                                          description: >
                                            An identifier that is unique within a
                                            VNF descriptor.
                                          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
                                            NFVO. The entries shall be applied by
                                            the VNFM according to the rules of JSON
                                            Merge Patch (see IETF RFC 7396). See
                                            notes 2, 3 and 4.
                                          type: object
                                          additionalProperties:
                                            description: >
                                              This type represents an externally
                                              provided link port, or a network
                                              attachment definition resource of
                                              secondary container cluster network, or
                                              network address information per instance
                                              of an external connection point. In the
                                              case of VM-based deployment of the VNFC
                                              exposing the external CP:
                                                1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                                    external VL.
                                                2.  In case 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.
                                              In the case of container-based
                                              deployment of the VNFC exposing the
                                              external CP, the VNFM shall use the
                                              network attachment definition resource
                                              of secondary container cluster network
                                              when connecting the CP to the external
                                              VL.

                                              * NOTE 1: The following conditions apply
                                              to the attributes "linkPortId" and
                                              "cpProtocolData" for an external CP
                                                        instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                                        1) Void.
                                                        2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                                        representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                                        corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                                        external CP instance that is to be re-configured or added to a particular external virtual link.
                                                        3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                                        4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                                        precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                                        pre-configured address information for the connection point from the resource representing the link port.
                                                        5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                                        cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                              * NOTE 2: The following conditions apply
                                              to the attributes “netAttDefResourceId”
                                              and “cpProtocolData” for an external CP
                                                        instance connected or to be connected to a secondary container cluster network:
                                                        1) Void.
                                                        2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                                        a to-be-created external CP instance or an existing external CP instance.
                                              * NOTE 3: Cardinality greater than 1 is
                                              only applicable for specific cases where
                                              more than one network attachment
                                                        definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                                        redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                                        to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                                        "NetAttDefResourceData".
                                              * NOTE 4: Either linkPortId or
                                              netAttDefResourceId may be included, but
                                              not both.
                                            anyOf:
                                              - required:
                                                  - linkPortId
                                              - required:
                                                  - cpProtocolData
                                              - required:
                                                  - netAttDefResourceId
                                            type: object
                                            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 to the VNFM the need to create
                                                  a dedicated link port for the external
                                                  CP. If set to True, the VNFM shall
                                                  create a link port. If set to False, the
                                                  VNFM shall not create a link port. 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
                                              netAttDefResourceId:
                                                description: >
                                                  Identifier of the
                                                  “NetAttDefResourceData” structure that
                                                  provides the specification of the
                                                  interface to attach the external CP to a
                                                  secondary container cluster network. It
                                                  is only applicable if the external CP is
                                                  connected or to be connected to a
                                                  secondary container cluster network. It
                                                  shall not be present if the external CP
                                                  is related to a virtual network not
                                                  categorized as secondary container
                                                  cluster network. See notes 2, 3 and 4.
                                                type: array
                                                items:
                                                  description: >
                                                    An identifier with the intention of
                                                    being globally unique.
                                                  type: string
                                              cpProtocolData:
                                                description: >
                                                  Parameters for configuring the network
                                                  protocols on the link port that connects
                                                  the CP to a VL. See notes 1 and 2.
                                                type: array
                                                items:
                                                  description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                                  type: object
                                                  required:
                                                    - layerProtocol
                                                  properties:
                                                    layerProtocol:
                                                      description: >
                                                        Identifier of layer(s) and protocol(s).
                                                        Permitted values:
                                                          - IP_OVER_ETHERNET.
                                                          - IP_FOR_VIRTUAL_CP
                                                        See note
                                                      type: string
                                                      enum:
                                                        - IP_OVER_ETHERNET
                                                        - IP_FOR_VIRTUAL_CP
                                                    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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                                        segmentationType:
                                                          description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                              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. 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
                                                                  the CISM or other resource provider. It
                                                                  is expected to be unique within the VIM
                                                                  instance.
                                                                type: string
                                                    virtualCpAddress:
                                                      description: >
                                                        This type represents network address
                                                        data for a virtual CP.

                                                        * NOTE 1: If the container cluster is
                                                        set up to be able to configure an
                                                        external load balancer this address will
                                                        be used,
                                                                  otherwise it will be ignored by the CISM.
                                                        * NOTE 2: In case the cluster can
                                                        configure an external load balancer but
                                                        no loadBalancerIp is provided the
                                                        container
                                                                  cluster will assign an IP address.
                                                        * NOTE 3: The attribute is only relevant
                                                        if the virtual CP is instantiated in a
                                                        cluster that supports configuration of
                                                        IP
                                                                  address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                                  Kubernetes® that supports configuration of address pools for load balancer services.
                                                        * NOTE 4: The loadBalancerIp and the
                                                        addressPoolName attributes shall not be
                                                        present at the same
                                                        time.                
                                                      type: object
                                                      required:
                                                        - type
                                                      properties:
                                                        type:
                                                          description: >
                                                            The type of the IP addresses. Permitted
                                                            values: IPV4, IPV6.
                                                          type: string
                                                          enum:
                                                            - IPV4
                                                            - IPV6
                                                        loadBalancerIp:
                                                          description: >
                                                            An IPV4 or IPV6 address. Representation:
                                                            In case of an IPV4 address, string that
                                                            consists of four decimal integers
                                                            separated by dots, each integer ranging
                                                            from 0 to 255. In case of an IPV6
                                                            address, string that consists of groups
                                                            of zero to four hexadecimal digits,
                                                            separated by colons.
                                                          type: string
                                                          format: IP
                                                        addressPoolName:
                                                          description: >
                                                            Name of an address pool from which the
                                                            container cluster will assign an IP
                                                            address to the virtual CP. See notes 3
                                                            and 4.
                                                          type: string
                                  extNetAttDefResource:
                                    description: >
                                      Network attachment definition resources
                                      that provide the specification of the
                                      interface to attach connection points  to
                                      this VL.
                                    type: array
                                    items:
                                      description: >
                                        This type contains information related
                                        to a network attachment definition
                                        resource that provides the 
                                        specification of the interface used to
                                        connect one or multiple connection
                                        points to a secondary container  cluster
                                        network.
                                      type: object
                                      required:
                                        - netAttDefResourceInfoId
                                        - netAttDefResource
                                      properties:
                                        netAttDefResourceInfoId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        netAttDefResource:
                                          required:
                                            - resourceId
                                          type: object
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance.
                                            Information about the resource is
                                            available from the VIM.

                                            * NOTE 1: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM or CISM or
                                            the resource 
                                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                            * NOTE 2: When the container
                                            infrastructure service management is a
                                            Kubernetes® instance the resourceId
                                            shall be 
                                                      populated in the following way:
                                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                      per resource type.
                                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                      manifest.
                                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                      the 'metadata.name' field in Kubernetes® manifest.
                                          properties:
                                            vimConnectionId:
                                              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
                                                the CISM or other resource provider. It
                                                is expected to be unique within the VIM
                                                instance.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM or the CISM or the resource
                                                provider. See note 1.
                                              type: string
                                            vimLevelAdditionalResourceInfo:
                                              description: >
                                                This type represents additional resource
                                                information which resource and resource
                                                type specific, and which is available
                                                from the VIM or the CISM or the resource
                                                provider.

                                                * NOTE: At least one attribute shall be
                                                present.
                                              type: object
                                              properties:
                                                hostName:
                                                  description: >
                                                    Name of the host where the resource is
                                                    allocated. It shall be present for
                                                    compute resources in the scope of the
                                                    CISM and shall be absent otherwise. See
                                                    note.
                                                  type: string
                                                persistentVolume:
                                                  description: >
                                                    Name of the persistent volume to which
                                                    the persistent volume claim representing
                                                    the storage resource is bound. It may be
                                                    present for storage resources in the
                                                    scope of the CISM and shall be absent
                                                    otherwise. See note.
                                                  type: string
                                                additionalInfo:
                                                  description: >
                                                    This type represents a list of key-value
                                                    pairs. The order of the pairs in the
                                                    list is not significant. In JSON, a set
                                                    of keyvalue pairs is represented as an
                                                    object. It shall comply with the
                                                    provisions defined in clause 4 of IETF
                                                    RFC 8259. In the following example, a
                                                    list of key-value pairs with four keys
                                                    ("aString", "aNumber", "anArray" and
                                                    "anObject") is provided to illustrate
                                                    that the values associated with
                                                    different keys can be of different type.
                                                  type: object
                                            containerNamespace:
                                              description: >
                                                The value of the namespace in which the
                                                MCIO corresponding to the resource is
                                                deployed. This attribute shall be
                                                present if the resource is managed by a
                                                CISM and it shall be absent otherwise.
                                              type: string
                                        associatedExtCpId:
                                          description: >
                                            Identifier of the external CP associated
                                            to this network attachment definition
                                            resource. Shall be present  when the
                                            network attachment definition resource
                                            is used for external connectivity by the
                                            VNF.
                                          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
                                        associatedVnfcCpId:
                                          description: >
                                            Identifier of the VNFC CP associated to
                                            this network attachment definition
                                            resource. May be present when  the
                                            network attachment definition resource
                                            is used for internal connectivity by the
                                            VNF.
                                          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
                            extManagedVirtualLinkInfo:
                              description: >
                                Information about the externally-managed
                                internal VLs of the VNF instance. See notes 5
                                and 6.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - vnfVirtualLinkDescId
                                  - networkResource
                                properties:
                                  id:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  vnfVirtualLinkDescId:
                                    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
                                  networkResource:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        type: string
                                  vnfLinkPorts:
                                    description: |
                                      Link ports of this VL.
                                    type: array
                                    items:
                                      description: >
                                        This type represents a link port of an
                                        internal VL of a VNF.

                                        NOTE 1: Either 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.
                                        NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                        provides examples for configurations
                                        where both vipCpInstanceId
                                                and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                                only vipCpInstanceId is present (UC6 and UC#6-b).
                                        NOTE 3: The value of "trunkResourceId"
                                        is scoped by the value of
                                        "vimConnectionId" in the
                                        "resourceHandle"
                                                attribute.
                                      type: object
                                      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:
                                          required:
                                            - resourceId
                                          type: object
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance.
                                            Information about the resource is
                                            available from the VIM.

                                            * NOTE 1: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM or CISM or
                                            the resource 
                                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                            * NOTE 2: When the container
                                            infrastructure service management is a
                                            Kubernetes® instance the resourceId
                                            shall be 
                                                      populated in the following way:
                                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                      per resource type.
                                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                      manifest.
                                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                      the 'metadata.name' field in Kubernetes® manifest.
                                          properties:
                                            vimConnectionId:
                                              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
                                                the CISM or other resource provider. It
                                                is expected to be unique within the VIM
                                                instance.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM or the CISM or the resource
                                                provider. See note 1.
                                              type: string
                                            vimLevelAdditionalResourceInfo:
                                              description: >
                                                This type represents additional resource
                                                information which resource and resource
                                                type specific, and which is available
                                                from the VIM or the CISM or the resource
                                                provider.

                                                * NOTE: At least one attribute shall be
                                                present.
                                              type: object
                                              properties:
                                                hostName:
                                                  description: >
                                                    Name of the host where the resource is
                                                    allocated. It shall be present for
                                                    compute resources in the scope of the
                                                    CISM and shall be absent otherwise. See
                                                    note.
                                                  type: string
                                                persistentVolume:
                                                  description: >
                                                    Name of the persistent volume to which
                                                    the persistent volume claim representing
                                                    the storage resource is bound. It may be
                                                    present for storage resources in the
                                                    scope of the CISM and shall be absent
                                                    otherwise. See note.
                                                  type: string
                                                additionalInfo:
                                                  description: >
                                                    This type represents a list of key-value
                                                    pairs. The order of the pairs in the
                                                    list is not significant. In JSON, a set
                                                    of keyvalue pairs is represented as an
                                                    object. It shall comply with the
                                                    provisions defined in clause 4 of IETF
                                                    RFC 8259. In the following example, a
                                                    list of key-value pairs with four keys
                                                    ("aString", "aNumber", "anArray" and
                                                    "anObject") is provided to illustrate
                                                    that the values associated with
                                                    different keys can be of different type.
                                                  type: object
                                            containerNamespace:
                                              description: >
                                                The value of the namespace in which the
                                                MCIO corresponding to the resource is
                                                deployed. This attribute shall be
                                                present if the resource is managed by a
                                                CISM and it shall be absent otherwise.
                                              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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                          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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          type: string
                                  vnfNetAttDefResource:
                                    description: >
                                      Network attachment definition resources
                                      that provide the specification of the
                                      interface to attach connection points to
                                      this VL.
                                    type: array
                                    items:
                                      description: >
                                        This type contains information related
                                        to a network attachment definition
                                        resource that provides the 
                                        specification of the interface used to
                                        connect one or multiple connection
                                        points to a secondary container  cluster
                                        network.
                                      type: object
                                      required:
                                        - netAttDefResourceInfoId
                                        - netAttDefResource
                                      properties:
                                        netAttDefResourceInfoId:
                                          description: >
                                            An identifier with the intention of
                                            being globally unique.
                                          type: string
                                        netAttDefResource:
                                          required:
                                            - resourceId
                                          type: object
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance.
                                            Information about the resource is
                                            available from the VIM.

                                            * NOTE 1: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM or CISM or
                                            the resource 
                                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                            * NOTE 2: When the container
                                            infrastructure service management is a
                                            Kubernetes® instance the resourceId
                                            shall be 
                                                      populated in the following way:
                                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                      per resource type.
                                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                      manifest.
                                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                      the 'metadata.name' field in Kubernetes® manifest.
                                          properties:
                                            vimConnectionId:
                                              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
                                                the CISM or other resource provider. It
                                                is expected to be unique within the VIM
                                                instance.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM or the CISM or the resource
                                                provider. See note 1.
                                              type: string
                                            vimLevelAdditionalResourceInfo:
                                              description: >
                                                This type represents additional resource
                                                information which resource and resource
                                                type specific, and which is available
                                                from the VIM or the CISM or the resource
                                                provider.

                                                * NOTE: At least one attribute shall be
                                                present.
                                              type: object
                                              properties:
                                                hostName:
                                                  description: >
                                                    Name of the host where the resource is
                                                    allocated. It shall be present for
                                                    compute resources in the scope of the
                                                    CISM and shall be absent otherwise. See
                                                    note.
                                                  type: string
                                                persistentVolume:
                                                  description: >
                                                    Name of the persistent volume to which
                                                    the persistent volume claim representing
                                                    the storage resource is bound. It may be
                                                    present for storage resources in the
                                                    scope of the CISM and shall be absent
                                                    otherwise. See note.
                                                  type: string
                                                additionalInfo:
                                                  description: >
                                                    This type represents a list of key-value
                                                    pairs. The order of the pairs in the
                                                    list is not significant. In JSON, a set
                                                    of keyvalue pairs is represented as an
                                                    object. It shall comply with the
                                                    provisions defined in clause 4 of IETF
                                                    RFC 8259. In the following example, a
                                                    list of key-value pairs with four keys
                                                    ("aString", "aNumber", "anArray" and
                                                    "anObject") is provided to illustrate
                                                    that the values associated with
                                                    different keys can be of different type.
                                                  type: object
                                            containerNamespace:
                                              description: >
                                                The value of the namespace in which the
                                                MCIO corresponding to the resource is
                                                deployed. This attribute shall be
                                                present if the resource is managed by a
                                                CISM and it shall be absent otherwise.
                                              type: string
                                        associatedExtCpId:
                                          description: >
                                            Identifier of the external CP associated
                                            to this network attachment definition
                                            resource. Shall be present  when the
                                            network attachment definition resource
                                            is used for external connectivity by the
                                            VNF.
                                          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
                                        associatedVnfcCpId:
                                          description: >
                                            Identifier of the VNFC CP associated to
                                            this network attachment definition
                                            resource. May be present when  the
                                            network attachment definition resource
                                            is used for internal connectivity by the
                                            VNF.
                                          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
                                  extManagedMultisiteVirtualLinkId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                            monitoringParameters:
                              description: |
                                Active monitoring parameters.
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - performanceMetric
                                properties:
                                  id:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    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. Depending on the form of virtualisation container of the VNFC:\n  - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n  - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure of\n    information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n  a) For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n  b) For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n        TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n        internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n        CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n        external CP information.\nNOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\"\n        structure by an LCM operation occurrence, this does not represent a change that requires\n        including a related \"AffectedVnfc\" structure in the VNF LCM operation occurrence notifications\n        or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\nNOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n        definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build a link\n        redundant mated pair in SR-IOV cases.\nNOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\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
                                  vduId:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  computeResource:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        type: string
                                  zoneId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  storageResourceIds:
                                    description: >
                                      References to the VirtualStorage resources
                                      or references to Storage MCIOs. The value
                                      refers to a VirtualStorageResourceInfo
                                      item in the VnfInstance.
                                    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
                                  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: >
                                            An identifier that is unique within a
                                            VNF descriptor.
                                          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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                            type: object
                                            required:
                                              - layerProtocol
                                            properties:
                                              layerProtocol:
                                                description: >
                                                  The identifier of layer(s) and
                                                  protocol(s) associated to the network
                                                  address information.

                                                  Permitted values:
                                                    - IP_OVER_ETHERNET
                                                    - IP_FOR_VIRTUAL_CP
                                                  See note.
                                                type: string
                                                enum:
                                                  - IP_OVER_ETHERNET
                                                  - IP_FOR_VIRTUAL_CP
                                              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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                      notes 3 and 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. 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
                                                            the CISM or other resource provider. It
                                                            is expected to be unique within the VIM
                                                            instance.
                                                          type: string
                                              virtualCpAddress:
                                                description: >
                                                  This type represents information about a
                                                  network address that has been assigned
                                                  to a virtual CP.
                                                type: object
                                                required:
                                                  - type
                                                properties:
                                                  type:
                                                    description: >
                                                      The type of the IP addresses. Permitted
                                                      values: - IPV4 - IPV6
                                                    type: string
                                                    enum:
                                                      - IPV4
                                                      - IPV6
                                                  loadBalancerIp:
                                                    description: >
                                                      An IPV4 or IPV6 address. Representation:
                                                      In case of an IPV4 address, string that
                                                      consists of four decimal integers
                                                      separated by dots, each integer ranging
                                                      from 0 to 255. In case of an IPV6
                                                      address, string that consists of groups
                                                      of zero to four hexadecimal digits,
                                                      separated by colons.
                                                    type: string
                                                    format: IP
                                                  addressPoolName:
                                                    description: >
                                                      Name of an address pool from which an IP
                                                      address is assigned to the virtual CP.
                                                    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
                                        parentCpId:
                                          description: >
                                            An identifier that is unique for the
                                            respective type within a VNF instance,
                                            but may not be globally unique.
                                          type: string
                                        netAttDefResourceId:
                                          description: >
                                            Identifier of the
                                            “NetAttDefResourceInfo” structure that
                                            provides the specification of the
                                            interface to attach the connection point
                                            to a secondary container cluster
                                            network. See notes 5 and 6. It shall be
                                            present if the internal CP is associated
                                            to a VNFC realized by one or a set of OS
                                            containers and is connected to a
                                            secondary container cluster network. It
                                            shall not be present otherwise.
                                          type: array
                                          items:
                                            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 keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                  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
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                            vnfVirtualLinkResourceInfo:
                              description: >
                                Information about the virtualised network
                                resources used by the VLs of the VNF instance.
                                See note 6.
                              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.

                                  Note: If only the value or the presence of
                                  this attribute is changed in the
                                  "VnfVirtualLinkResourceInfo"
                                        structure by an LCM operation occurrence, this does not represent a change that requires including
                                        a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
                                        "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                                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
                                  vnfVirtualLinkDescId:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  networkResource:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        type: string
                                  zoneId:
                                    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
                                  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:
                                      description: >
                                        This type represents a link port of an
                                        internal VL of a VNF.

                                        NOTE 1: Either 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.
                                        NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                        provides examples for configurations
                                        where both vipCpInstanceId
                                                and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                                only vipCpInstanceId is present (UC6 and UC#6-b).
                                        NOTE 3: The value of "trunkResourceId"
                                        is scoped by the value of
                                        "vimConnectionId" in the
                                        "resourceHandle"
                                                attribute.
                                      type: object
                                      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:
                                          required:
                                            - resourceId
                                          type: object
                                          description: >
                                            This type represents the information
                                            that allows addressing a virtualised
                                            resource that is used by a VNF instance.
                                            Information about the resource is
                                            available from the VIM.

                                            * NOTE 1: The value set of the
                                            "vimLevelResourceType" attribute is
                                            within the scope of the VIM or CISM or
                                            the resource 
                                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                            * NOTE 2: When the container
                                            infrastructure service management is a
                                            Kubernetes® instance the resourceId
                                            shall be 
                                                      populated in the following way:
                                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                      per resource type.
                                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                      manifest.
                                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                      the 'metadata.name' field in Kubernetes® manifest.
                                          properties:
                                            vimConnectionId:
                                              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
                                                the CISM or other resource provider. It
                                                is expected to be unique within the VIM
                                                instance.
                                              type: string
                                            vimLevelResourceType:
                                              description: >
                                                Type of the resource in the scope of the
                                                VIM or the CISM or the resource
                                                provider. See note 1.
                                              type: string
                                            vimLevelAdditionalResourceInfo:
                                              description: >
                                                This type represents additional resource
                                                information which resource and resource
                                                type specific, and which is available
                                                from the VIM or the CISM or the resource
                                                provider.

                                                * NOTE: At least one attribute shall be
                                                present.
                                              type: object
                                              properties:
                                                hostName:
                                                  description: >
                                                    Name of the host where the resource is
                                                    allocated. It shall be present for
                                                    compute resources in the scope of the
                                                    CISM and shall be absent otherwise. See
                                                    note.
                                                  type: string
                                                persistentVolume:
                                                  description: >
                                                    Name of the persistent volume to which
                                                    the persistent volume claim representing
                                                    the storage resource is bound. It may be
                                                    present for storage resources in the
                                                    scope of the CISM and shall be absent
                                                    otherwise. See note.
                                                  type: string
                                                additionalInfo:
                                                  description: >
                                                    This type represents a list of key-value
                                                    pairs. The order of the pairs in the
                                                    list is not significant. In JSON, a set
                                                    of keyvalue pairs is represented as an
                                                    object. It shall comply with the
                                                    provisions defined in clause 4 of IETF
                                                    RFC 8259. In the following example, a
                                                    list of key-value pairs with four keys
                                                    ("aString", "aNumber", "anArray" and
                                                    "anObject") is provided to illustrate
                                                    that the values associated with
                                                    different keys can be of different type.
                                                  type: object
                                            containerNamespace:
                                              description: >
                                                The value of the namespace in which the
                                                MCIO corresponding to the resource is
                                                deployed. This attribute shall be
                                                present if the resource is managed by a
                                                CISM and it shall be absent otherwise.
                                              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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                          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
                                            the CISM or other resource provider. It
                                            is expected to be unique within the VIM
                                            instance.
                                          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
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                            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.

                                  Note: If only the value or the presence of
                                  this attribute is changed in the
                                  "VirtualStorageResourceInfo"
                                        structure by an LCM operation occurrence, this does not represent a change that requires
                                        including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
                                        notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                                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: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  vnfdId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  storageResource:
                                    required:
                                      - resourceId
                                    type: object
                                    description: >
                                      This type represents the information that
                                      allows addressing a virtualised resource
                                      that is used by a VNF instance.
                                      Information about the resource is
                                      available from the VIM.

                                      * NOTE 1: The value set of the
                                      "vimLevelResourceType" attribute is within
                                      the scope of the VIM or CISM or the
                                      resource 
                                                provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                      * NOTE 2: When the container
                                      infrastructure service management is a
                                      Kubernetes® instance the resourceId shall
                                      be 
                                                populated in the following way:
                                                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                per resource type.
                                                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                manifest.
                                                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                the 'metadata.name' field in Kubernetes® manifest.
                                    properties:
                                      vimConnectionId:
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                      vimLevelResourceType:
                                        description: >
                                          Type of the resource in the scope of the
                                          VIM or the CISM or the resource
                                          provider. See note 1.
                                        type: string
                                      vimLevelAdditionalResourceInfo:
                                        description: >
                                          This type represents additional resource
                                          information which resource and resource
                                          type specific, and which is available
                                          from the VIM or the CISM or the resource
                                          provider.

                                          * NOTE: At least one attribute shall be
                                          present.
                                        type: object
                                        properties:
                                          hostName:
                                            description: >
                                              Name of the host where the resource is
                                              allocated. It shall be present for
                                              compute resources in the scope of the
                                              CISM and shall be absent otherwise. See
                                              note.
                                            type: string
                                          persistentVolume:
                                            description: >
                                              Name of the persistent volume to which
                                              the persistent volume claim representing
                                              the storage resource is bound. It may be
                                              present for storage resources in the
                                              scope of the CISM and shall be absent
                                              otherwise. See note.
                                            type: string
                                          additionalInfo:
                                            description: >
                                              This type represents a list of key-value
                                              pairs. The order of the pairs in the
                                              list is not significant. In JSON, a set
                                              of keyvalue pairs is represented as an
                                              object. It shall comply with the
                                              provisions defined in clause 4 of IETF
                                              RFC 8259. In the following example, a
                                              list of key-value pairs with four keys
                                              ("aString", "aNumber", "anArray" and
                                              "anObject") is provided to illustrate
                                              that the values associated with
                                              different keys can be of different type.
                                            type: object
                                      containerNamespace:
                                        description: >
                                          The value of the namespace in which the
                                          MCIO corresponding to the resource is
                                          deployed. This attribute shall be
                                          present if the resource is managed by a
                                          CISM and it shall be absent otherwise.
                                        type: string
                                  zoneId:
                                    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
                                  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
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                            mcioInfo:
                              description: >
                                Information on the MCIO(s) representing VNFC
                                instance(s) realized by one or a set of OS
                                containers and created from the same VDU for the
                                VNF instance.
                              type: array
                              items:
                                description: >
                                  This type provides information about an MCIO
                                  representing the set of VNFC instances
                                  realized by one  or a set of OS containers
                                  which have been created based on the same VDU.
                                  Within the CISM, an MCIO controller monitors
                                  the actual state of an MCIO representing the
                                  set of VNFC  instances realized by one or a
                                  set of OS containers and compare it to the
                                  desired state as specified  in the respective
                                  declarative descriptor. It triggers actions
                                  toward the CIS to align the actual to  the
                                  desired state. Monitoring the actual state
                                  includes monitoring the number of MCIO
                                  instances available  at any specific point in
                                  time. In addition, an MCIO controller
                                  maintains properties and runtime information 
                                  on the MCIO instances which have been created
                                  based on the same VDU. The McioInfo data
                                  structure provides the runtime information on
                                  the MCIOs obtained from the MCIO controller.

                                  NOTE: There are different types of MCIOs. The
                                  set of VNFC instances based on the same VDU is
                                  represented 
                                        by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type 
                                        of MCIO, e.g. a POD.

                                  Runtime information of the set of OS
                                  containers realizing an individual VNFC
                                  instance is not part of the  McioInfo data
                                  structure; such runtime information is
                                  provided in the ResourceHandle data structure 
                                  referenced from the VnfcResourceInfo. The
                                  McioInfo does not provide runtime information
                                  of a constituent  VNFC instance created based
                                  on a specific VDU.

                                  NOTE 1: The type of MCIO as specified in the
                                  declarative descriptor of the MCIO, and that
                                  can be read from 
                                          the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the 
                                          “kind” property of the declarative descriptor.
                                  NOTE 2: If the attribute additionalInfo is
                                  present, it may contain runtime information on
                                  the actual and 
                                          desired state of the MCIO(s).   
                                  NOTE 3: When the container infrastructure
                                  service is a Kubernetes® instance, the mcioId
                                  is the combined 
                                          values from the kind and name fields of the Kubernetes resource object, separated by a slash. 
                                          Example: "Deployment/abcd". 
                                  NOTE 4: When the container infrastructure
                                  service is a Kubernetes® instance, the
                                  mcioName is the name 
                                          field of the resource object.          
                                type: object
                                required:
                                  - mcioId
                                  - mcioName
                                  - mcioNamespace
                                  - vduId
                                  - cismId
                                  - mcioType
                                  - desiredInstances
                                  - availableInstances
                                properties:
                                  mcioId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  mcioName:
                                    description: >
                                      Human readable name of this MCIO. See note
                                      4.
                                    type: string
                                  mcioNamespace:
                                    description: |
                                      Namespace of this MCIO.
                                    type: string
                                  vduId:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                  cismId:
                                    description: >
                                      An identifier with the intention of being
                                      globally unique.
                                    type: string
                                  mcioType:
                                    description: >
                                      The type of MCIO. Specific values, their
                                      semantics and associated MCIO types are
                                      defined in clause  5.5.4.9. Additional
                                      values are also permitted. See note 1.
                                    type: string
                                    enum:
                                      - Deployment
                                      - Statefulset
                                  desiredInstances:
                                    description: |
                                      Number of desired MCIO instances.
                                    type: integer
                                  availableInstances:
                                    description: |
                                      Number of available MCIO instances.
                                    type: integer
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                        _links:
                          description: |
                            Links to resources related to this resource.
                          type: object
                          required:
                            - self
                          properties:
                            self:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            indicators:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            instantiate:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            terminate:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            scale:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            scaleToLevel:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            changeFlavour:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            heal:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            operate:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            changeExtConn:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            createSnapshot:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            revertToSnapshot:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                            changeCurrentVnfPkg:
                              description: >
                                This type represents a link to a resource using
                                an absolute URI.
                              type: object
                              required:
                                - href
                              properties:
                                href:
                                  description: |
                                    String formatted according to IETF RFC 3986.
                                  type: string
                    vnfcSnapshots:
                      description: >
                        Information about VNFC snapshots constituting this VNF
                        snapshot.
                      type: array
                      items:
                        description: "This type represents a VNFC snapshot.\nNOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot \n        being returned from the VIM as output data in the response message of the individual resource \n        operations. This attribute shall only be present for a VNFC snapshot that has been newly created \n        by the VNFM as a result of the \"Create VNF snapshot task\".\nNOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being \n        returned from the VIM as output data in the response message of the individual resource operations. \n        This attribute shall only be present for a VNFC snapshot with an associated storage resource and that \n        has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n"
                        type: object
                        required:
                          - id
                          - vnfcInstanceId
                          - triggeredAt
                          - vnfcResourceId
                        properties:
                          id:
                            description: >
                              An identifier that is unique within a limited
                              local scope other than above listed identifiers,
                              such as within a complex data structure or within
                              a request-response pair. Representation: string of
                              variable length.
                            type: string
                          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 to IETF RFC 3339.
                            type: string
                            format: date-time
                          creationFinishedAt:
                            description: >
                              Date-time stamp. Representation: String formatted
                              according to IETF RFC 3339.
                            type: string
                            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:
                            required:
                              - resourceId
                            type: object
                            description: >
                              This type represents the information that allows
                              addressing a virtualised resource that is used by
                              a VNF instance. Information about the resource is
                              available from the VIM.

                              * NOTE 1: The value set of the
                              "vimLevelResourceType" attribute is within the
                              scope of the VIM or CISM or the resource 
                                        provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                        the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                        infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                        resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                        e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                              * NOTE 2: When the container infrastructure
                              service management is a Kubernetes® instance the
                              resourceId shall be 
                                        populated in the following way:
                                        - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                        per resource type.
                                        - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                        i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                        Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                        manifest.
                                        - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                        the 'metadata.name' field in Kubernetes® manifest.
                            properties:
                              vimConnectionId:
                                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 the
                                  CISM or other resource provider. It is
                                  expected to be unique within the VIM instance.
                                type: string
                              vimLevelResourceType:
                                description: >
                                  Type of the resource in the scope of the VIM
                                  or the CISM or the resource provider. See note
                                  1.
                                type: string
                              vimLevelAdditionalResourceInfo:
                                description: >
                                  This type represents additional resource
                                  information which resource and resource type
                                  specific, and which is available from the VIM
                                  or the CISM or the resource provider.

                                  * NOTE: At least one attribute shall be
                                  present.
                                type: object
                                properties:
                                  hostName:
                                    description: >
                                      Name of the host where the resource is
                                      allocated. It shall be present for compute
                                      resources in the scope of the CISM and
                                      shall be absent otherwise. See note.
                                    type: string
                                  persistentVolume:
                                    description: >
                                      Name of the persistent volume to which the
                                      persistent volume claim representing the
                                      storage resource is bound. It may be
                                      present for storage resources in the scope
                                      of the CISM and shall be absent otherwise.
                                      See note.
                                    type: string
                                  additionalInfo:
                                    description: >
                                      This type represents a list of key-value
                                      pairs. The order of the pairs in the list
                                      is not significant. In JSON, a set of
                                      keyvalue pairs is represented as an
                                      object. It shall comply with the
                                      provisions defined in clause 4 of IETF RFC
                                      8259. In the following example, a list of
                                      key-value pairs with four keys ("aString",
                                      "aNumber", "anArray" and "anObject") is
                                      provided to illustrate that the values
                                      associated with different keys can be of
                                      different type.
                                    type: object
                              containerNamespace:
                                description: >
                                  The value of the namespace in which the MCIO
                                  corresponding to the resource is deployed.
                                  This attribute shall be present if the
                                  resource is managed by a CISM and it shall be
                                  absent otherwise.
                                type: string
                          storageSnapshotResources:
                            description: >
                              Mapping of the storage resources associated to the
                              VNFC with the storage snapshot resources.
                            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
                                storageSnapshotResource:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          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 keyvalue pairs is
                              represented as an object. It shall comply with the
                              provisions defined in clause 4 of IETF RFC 8259.
                              In the following example, a list of key-value
                              pairs with four keys ("aString", "aNumber",
                              "anArray" and "anObject") is provided to
                              illustrate that the values associated with
                              different keys can be of different type.
                            type: object
                    vnfStateSnapshotInfo:
                      description: >
                        This type represents information about VNF-specific
                        state snapshot data.
                      type: object
                      required:
                        - checksum
                        - isEncrypted
                      properties:
                        checksum:
                          description: |
                            Cheksum description
                          type: string
                        isEncrypted:
                          description: >
                            The Boolean is a data type having two values (true
                            and false).
                          type: boolean
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                    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 keyvalue pairs is represented as an
                        object. It shall comply with the provisions defined in
                        clause 4 of IETF RFC 8259. In the following example, a
                        list of key-value pairs with four keys ("aString",
                        "aNumber", "anArray" and "anObject") is provided to
                        illustrate that the values associated with different
                        keys can be of different type.
                      type: object
                    _links:
                      description: |
                        Links to resources related to this resource.
                      type: object
                      required:
                        - self
                      properties:
                        self:
                          description: >
                            This type represents a link to a resource using an
                            absolute URI.
                          type: object
                          required:
                            - href
                          properties:
                            href:
                              description: |
                                String formatted according to IETF RFC 3986.
                              type: string
                        vnfStateSnapshot:
                          description: >
                            This type represents a link to a resource using an
                            absolute URI.
                          type: object
                          required:
                            - href
                          properties:
                            href:
                              description: |
                                String formatted according to IETF RFC 3986.
                              type: string
                _links:
                  description: |
                    Links to resources related to this resource.
                  type: object
                  required:
                    - self
                  properties:
                    self:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
                    takenFrom:
                      description: >
                        This type represents a link to a resource using an
                        absolute URI.
                      type: object
                      required:
                        - href
                      properties:
                        href:
                          description: |
                            String formatted according to IETF RFC 3986.
                          type: string
    IndividualVnfSnapshot.Patch.200:
      description: >
        200 OK


        Shall be returned when the modification of VNF snapshot information has
        been accepted and completed.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
        ETag:
          description: >
            Used to provide the current entity-tag for the selected resource
            representation. It can be sent in "200 OK", "201 Created" and "204
            No Content" responses.
          style: simple
          schema:
            type: string
        Last-Modified:
          description: >
            Used to provide a timestamp indicating the date and time at which
            the server believes the selected resource representation was last
            modified. It can be sent in "200 OK", "201 Created" and "204 No
            Content" responses.
          style: simple
          schema:
            type: string
            format: date-time
      content:
        application/json:
          schema:
            description: >
              This type represents attribute modifications that were performed
              on an "Individual VNF snapshot" 

              resource. The attributes that can be included consist of those
              requested to be modified explicitly 

              in the "VnfSnapshotInfoModificationRequest" data structure, and
              additional attributes of the 

              "VnfSnapshotInfo" data structure that were modified implicitly.
            type: object
            properties:
              vnfSnapshotPkgId:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              vnfSnapshot:
                description: |
                  This type represents a VNF snapshot.
                type: object
                required:
                  - id
                  - vnfInstanceId
                  - triggeredAt
                  - vnfdId
                  - vnfInfo
                  - 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 to IETF RFC 3339.
                    type: string
                    format: date-time
                  creationFinishedAt:
                    description: >
                      Date-time stamp. Representation: String formatted
                      according to IETF RFC 3339.
                    type: string
                    format: date-time
                  vnfdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfInstance:
                    description: "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n"
                    type: object
                    required:
                      - id
                      - vnfdId
                      - vnfProvider
                      - vnfProductName
                      - vnfSoftwareVersion
                      - vnfdVersion
                      - instantiationState
                      - _links
                    properties:
                      id:
                        description: >
                          An identifier with the intention of being globally
                          unique.
                        type: string
                      vnfInstanceName:
                        description: >
                          Name of the VNF instance. This attribute can be
                          modified with the PATCH method.
                        type: string
                      vnfInstanceDescription:
                        description: >
                          Human-readable description of the VNF instance. This
                          attribute can be modified with the PATCH method.
                        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.
                        type: string
                      vnfdVersion:
                        description: |
                          A version.
                        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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      vimConnectionInfo:
                        description: >
                          Information about VIM or CISM connections to be used
                          for managing the resources for the VNF instance. The
                          keys of the map, each of which identifies information
                          about a particular VIM connection, are managed by the
                          NFVO and referenced from other data structures via the
                          "vimConnectionId" attribute. This attribute shall only
                          be supported and present if - the resources of at
                          least of the VNFCs are managed by a VIM and
                          VNF-related resource management in direct mode is
                          applicable. - the resources of at least of the VNFCs
                          are managed by a CISM. This attribute can be modified
                          with the PATCH method. If VIM connection information
                          is provisioned to the VNFM by means outside the scope
                          of the present document, the information in the
                          "vimConnectionInfo" attribute provides necessary
                          information for binding the VnfInstance representing
                          the "Individual VNF instance" to the applicable VIM
                          connection information used to perform resource
                          management for the VNF instance. See also the
                          definition of the "VimConnectionInfo" in clause
                          4.4.1.6.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      cirConnectionInfo:
                        description: >
                          Information about the CIR connection for managing OS
                          container images for the VNF instance. Shall be
                          present when all or part of the VNF is realized by a
                          set of OS containers and shall be absent otherwise.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      mciopRepositoryInfo:
                        description: >
                          Information about the MCIOP repository for the VNF
                          instance. Shall be present when all or part of the VNF
                          is realized by a set of OS containers and shall be
                          absent otherwise. See note 1.
                        type: object
                        additionalProperties:
                          description: "This type represents parameters to connect to a VIM, a CISM, a CIR or a MCIOP repository for managing the resources of a VNF instance.\nThis structure is used to convey VIM-related, CISM-related, CIR-related, or MCIOP-repository-related parameters over the Or-Vnfm interface. Additional parameters for a VIM, a CISM, a CIR or a MCIOP repository may be configured into the VNFM by means outside the scope of the present document and bound to the identifier of that VIM.\n* NOTE 1:\tIf applicable, this attribute also provides information about the resourceGroupIds\n          that are accessible using a particular set of credentials. See definition of\n          \"resourceGroupId\" in clause 9.5.3.3.\n* NOTE 2:\tOnce the connectivity between VNFM and VIM, CISM, CIR or MCIOP repository is provided\n          through a secure connection over HTTP Secure (HTTP over SSL/TLS), and the connection might also be\n          established through a VPN (for example TLS-based VPN tunnelling) for site-to-site connection, the\n          \"accessInfo\" JSON data structure, and the sensitive data related information (\"username\"/\"password\" as\n          required properties for authentication purpose), will be transmitted as plain text through a TLS tunnel\n          without additional encoding/encryption before transmitting it, making the sensitive data visible to the\n          endpoint. The base64 encoded certificates are only used by the VNFM to verify the authenticity of the\n          interface endpoint of the VIM, CISM, CIR or MCIOP repository.\n* NOTE 3: ETSI GS NFV-SOL 009 specifies the means to configure into the VNFM applicable VIM connection\n          information via the \"NFV-MANO Configuration and Information Management\" interface.\n* NOTE 4: Due to the possibility of configuring such information into the VNFM out-of-band, by means outside the scope of\n          the present document, as well as in-band, by means specified in the present document, care should be taken to\n          avoid unintended conflicts in the VNFM when managing such information.\n"
                          type: object
                          required:
                            - vimType
                          properties:
                            vimId:
                              description: >
                                An identifier with the intention of being
                                globally unique.
                              type: string
                            vimType:
                              description: >
                                Discriminator for the different types of the VIM
                                information. The value of this attribute
                                determines the structure of the "interfaceInfo"
                                and "accessInfo" attributes, based on the type
                                of the VIM., CISM, CIR or MCIOP repository. The
                                set of permitted values is expected to change
                                over time as new types or versions of VIMs
                                become available. The ETSI NFV registry of
                                VIM-related information provides access to
                                information about VimConnectionInfo definitions
                                for various VIM, CISM, CIR or MCIOP repository
                                types. The structure of the registry is defined
                                in annex C.
                              type: string
                            interfaceInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            accessInfo:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                            extra:
                              description: >
                                This type represents a list of key-value pairs.
                                The order of the pairs in the list is not
                                significant. In JSON, a set of keyvalue pairs is
                                represented as an object. It shall comply with
                                the provisions defined in clause 4 of IETF RFC
                                8259. In the following example, a list of
                                key-value pairs with four keys ("aString",
                                "aNumber", "anArray" and "anObject") is provided
                                to illustrate that the values associated with
                                different keys can be of different type.
                              type: object
                      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: >
                              An identifier that is unique within a VNF
                              descriptor.
                            type: string
                          vnfState:
                            description: >
                              STARTED: The VNF instance is up and running.
                              STOPPED: The VNF instance has been shut down.
                            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. This
                              attribute shall be present if the VNF supports
                              scaling. See clause B.2 for an explanation of VNF
                              scaling.
                            type: array
                            items:
                              description: >
                                This type represents the scale level of a VNF
                                instance related to a scaling aspect.
                              type: object
                              required:
                                - aspectId
                                - scaleLevel
                              properties:
                                aspectId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleToLevel:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          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:
                              description: >
                                This type represents the scale level of a VNF
                                instance related to a scaling aspect.
                              type: object
                              required:
                                - aspectId
                                - scaleLevel
                              properties:
                                aspectId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                scaleToLevel:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          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.\nNOTE 1:\tThe attributes \"associatedVnfcCpId\", \"associatedVipCpId\", \"associatedVirtualCpId\" and \n        \"associatedVnfVirtualLinkId\" are mutually exclusive. Exactly one shall be present.\nNOTE 2:\tAn external CP instance is not associated to a link port in the cases indicated for the \n        “extLinkPorts” attribute in clause 4.4.1.11.\nNOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network \n        attachment definition resource is needed to fulfil the connectivity requirements of the external \n        CP, e.g. to build a link redundant mated pair in SR-IOV cases.\nNOTE 4: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\n"
                              type: object
                              required:
                                - id
                                - cpdId
                                - cpConfigId
                                - cpProtocolInfo
                              oneOf:
                                - required:
                                    - associatedVnfcCpId
                                - required:
                                    - associatedVipCpId
                                - 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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                cpConfigId:
                                  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
                                cpProtocolInfo:
                                  description: |
                                    Network protocol information for this CP.
                                  type: array
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                                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
                                associatedVirtualCpId:
                                  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
                                netAttDefResourceId:
                                  description: >
                                    Identifier of the “NetAttDefResourceInfo”
                                    structure that provides the specification of
                                    the interface to attach the connection point
                                    to a secondary container cluster network.
                                    See notes 3 and 4.

                                    It shall be present if the external CP is
                                    associated to a VNFC realized by one or a
                                    set of OS containers and is connected to a
                                    secondary container cluster network. It
                                    shall not be present otherwise.
                                  type: array
                                  items:
                                    description: >
                                      An identifier with the intention of being
                                      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
                            minItems: 1
                            items:
                              description: "This type provides information related to virtual IP (VIP) CP.\nNOTE 1:\tIt is possible that there is no associated VnfcCp because the VIP CP is available but not associated yet. NOTE 2: If only the value or the presence of this attribute is changed in the \"VipCpInfo\" structure by an LCM operation occurrence, this does not represent a change that requires including a related \"AffectedVipCp\" structure in the VNF LCM operation occurrence notifications or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\n"
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            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: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          virtualCpInfo:
                            description: >
                              Virtual CPs that are part of the VNF instance.
                              Shall be present when a particular Virtual CP is
                              associated to an external CP of the VNF instance.
                              May be present otherwise.
                            type: array
                            items:
                              description: >
                                This type provides information related to a
                                virtual CP instance of a VNF.

                                NOTE: A consumer of the VNF LCM interface can
                                learn the actual VNFC instances implementing the
                                service 
                                      accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" 
                                      and filtering by corresponding "vduIds" values.
                              type: object
                              required:
                                - cpInstanceId
                                - cpdId
                                - resourceHandle
                                - vduIds
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                resourceHandle:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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 each layer
                                    protocol supported.
                                  type: array
                                  items:
                                    description: "This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                    type: object
                                    required:
                                      - layerProtocol
                                    properties:
                                      layerProtocol:
                                        description: >
                                          The identifier of layer(s) and
                                          protocol(s) associated to the network
                                          address information.

                                          Permitted values:
                                            - IP_OVER_ETHERNET
                                            - IP_FOR_VIRTUAL_CP
                                          See note.
                                        type: string
                                        enum:
                                          - IP_OVER_ETHERNET
                                          - IP_FOR_VIRTUAL_CP
                                      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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                              notes 3 and 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. 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
                                                    the CISM or other resource provider. It
                                                    is expected to be unique within the VIM
                                                    instance.
                                                  type: string
                                      virtualCpAddress:
                                        description: >
                                          This type represents information about a
                                          network address that has been assigned
                                          to a virtual CP.
                                        type: object
                                        required:
                                          - type
                                        properties:
                                          type:
                                            description: >
                                              The type of the IP addresses. Permitted
                                              values: - IPV4 - IPV6
                                            type: string
                                            enum:
                                              - IPV4
                                              - IPV6
                                          loadBalancerIp:
                                            description: >
                                              An IPV4 or IPV6 address. Representation:
                                              In case of an IPV4 address, string that
                                              consists of four decimal integers
                                              separated by dots, each integer ranging
                                              from 0 to 255. In case of an IPV6
                                              address, string that consists of groups
                                              of zero to four hexadecimal digits,
                                              separated by colons.
                                            type: string
                                            format: IP
                                          addressPoolName:
                                            description: >
                                              Name of an address pool from which an IP
                                              address is assigned to the virtual CP.
                                            type: string
                                vduIds:
                                  description: >
                                    Reference to the VDU(s) which implement the
                                    service accessible via the virtual CP
                                    instance. See note.
                                  type: array
                                  minItems: 1
                                  items:
                                    description: >
                                      An identifier that is unique within a VNF
                                      descriptor.
                                    type: string
                                additionalServiceInfo:
                                  description: >
                                    Additional service identification
                                    information of the virtual CP instance.
                                  type: array
                                  items:
                                    description: >
                                      This type provides additional service
                                      information of the virtual CP instance
                                      used to expose properties of the  virtual
                                      CP to NFV-MANO.

                                      NOTE: This attribute shall only be present
                                      if additional information is needed to
                                      identify the service 
                                            termination within the VNF, such as for example a URL path information in an HTTP request required 
                                            to allow a single virtual CP IP address to be used for several HTTP based services that use the 
                                            same port number.
                                    type: object
                                    required:
                                      - portInfo
                                    properties:
                                      portInfo:
                                        description: >
                                          Service port numbers exposed by the
                                          virtual CP instance.
                                        minItems: 1
                                        type: array
                                        items:
                                          description: >
                                            This type describes the service
                                            identifying port properties exposed by
                                            the virtual CP instance.
                                          type: object
                                          required:
                                            - name
                                            - port
                                            - portConfigurable
                                          properties:
                                            name:
                                              description: >
                                                The name of the port exposed by the
                                                virtual CP instance.
                                              type: string
                                            protocol:
                                              description: >
                                                The L4 protocol for this port exposed by
                                                the virtual CP instance.

                                                Permitted values: - TCP - UDP - SCTP
                                              type: string
                                              enum:
                                                - TCP
                                                - UDP
                                                - SCTP
                                            port:
                                              description: >
                                                The L4 port number exposed by the
                                                virtual CP instance.
                                              type: integer
                                            portConfigurable:
                                              description: >
                                                The Boolean is a data type having two
                                                values (true and false).
                                              type: boolean
                                      serviceInfo:
                                        description: >
                                          This type represents a list of key-value
                                          pairs. The order of the pairs in the
                                          list is not significant. In JSON, a set
                                          of keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          extVirtualLinkInfo:
                            description: >
                              Information about the external VLs the VNF
                              instance is connected to.
                            type: array
                            items:
                              description: "This type represents information about an external VL.\nNOTE:\tThis attribute reflects the current configuration information that has resulted from merging into this attribute \n      the \"VnfExtCpData\" information which was passed as part of the \"ExtVirtualLinkData\" structure in the input of the \n      most recent VNF LCM operation such as \"InstantiateVnfRequest\", \"ChangeExtVnfConnectivityRequest\", \"ChangeVnfFlavourRequest\" \n      or \"ChangeCurrentVnfPkgRequest\", or in the Grant response. If applying such change results in an empty list of \n      \"currentVnfExtCpData\" structure instances, the affected instance of \"ExtVirtualLinkInfo\" shall be removed from its \n      parent data structure.\n"
                              type: object
                              required:
                                - id
                                - resourceHandle
                                - currentVnfExtCpData
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                resourceHandle:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      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.\nNOTE 1:\tThe use cases UC#4 and UC#5 in clause 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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                currentVnfExtCpData:
                                  description: >
                                    Allows the API consumer to read the current
                                    CP configuration information for the
                                    connection of external CPs  to the external
                                    virtual link. See note.
                                  type: array
                                  items:
                                    description: "This type represents configuration information for external CPs created. * NOTE 1: \tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created\n            from this CPD will represent ports in a trunk.\n* NOTE 2: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external\n            connectivity. Thus, given a particular value of the \"cpdId\" attribute, there shall be one\n            \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes\n            a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk,\n            all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are\n            connected to the same set of external VLs via the trunk.\n* NOTE 3: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified\n            by a particular key value from the map, i.e. for the disconnection of an existing external\n            CP instance addressed by cpInstanceId in the deleted map entry from a particular external\n            virtual link, and deletion of that instance in case it represents a subport. Deleting the\n            last key from the map removes the affected instance of the \"VnfExtCpData\" structure from\n            its parent data structure.\n* NOTE 4:   If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or\n            \"ChangeCurrentVnfPkg\" operation or as part of the Grant response for any of these operations, a cpConfig\n            map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or\n            \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance\n            different than the one that has used it before the operation, or by no external CP instance at all.\n            Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related\n            \"cpConfig\" map entries to a new \"extCpData\" structure.\n"
                                    type: object
                                    required:
                                      - cpdId
                                    properties:
                                      cpdId:
                                        description: >
                                          An identifier that is unique within a
                                          VNF descriptor.
                                        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
                                          NFVO. The entries shall be applied by
                                          the VNFM according to the rules of JSON
                                          Merge Patch (see IETF RFC 7396). See
                                          notes 2, 3 and 4.
                                        type: object
                                        additionalProperties:
                                          description: >
                                            This type represents an externally
                                            provided link port, or a network
                                            attachment definition resource of
                                            secondary container cluster network, or
                                            network address information per instance
                                            of an external connection point. In the
                                            case of VM-based deployment of the VNFC
                                            exposing the external CP:
                                              1.  In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the
                                                  external VL.
                                              2.  In case 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.
                                            In the case of container-based
                                            deployment of the VNFC exposing the
                                            external CP, the VNFM shall use the
                                            network attachment definition resource
                                            of secondary container cluster network
                                            when connecting the CP to the external
                                            VL.

                                            * NOTE 1: The following conditions apply
                                            to the attributes "linkPortId" and
                                            "cpProtocolData" for an external CP
                                                      instance connected or to be connected to a virtual network not categorized as secondary container cluster network:
                                                      1) Void.
                                                      2) At least one of the "linkPortId" and "cpProtocolData" attributes shall be present for an external CP instance
                                                      representing a subport that is to be created, or an external CP instance that is to be created by creating the
                                                      corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing
                                                      external CP instance that is to be re-configured or added to a particular external virtual link.
                                                      3) If the "linkPortId" attribute is absent, the VNFM shall create a link port.
                                                      4) If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a
                                                      precreated link port, and the VNFM can use means outside the scope of the present document to obtain the
                                                      pre-configured address information for the connection point from the resource representing the link port.
                                                      5) If both "cpProtocolData" and "linkportId" are provided, the NFVO shall ensure that the
                                                      cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

                                            * NOTE 2: The following conditions apply
                                            to the attributes “netAttDefResourceId”
                                            and “cpProtocolData” for an external CP
                                                      instance connected or to be connected to a secondary container cluster network:
                                                      1) Void.
                                                      2) The "netAttDefResourceId" attribute shall be present and the "cpProtocolData" attribute may be present for
                                                      a to-be-created external CP instance or an existing external CP instance.
                                            * NOTE 3: Cardinality greater than 1 is
                                            only applicable for specific cases where
                                            more than one network attachment
                                                      definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link
                                                      redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong
                                                      to the same namespace as defined by the corresponding "containerNamespace" attribute in the "resourceHandle" a attribute in the
                                                      "NetAttDefResourceData".
                                            * NOTE 4: Either linkPortId or
                                            netAttDefResourceId may be included, but
                                            not both.
                                          anyOf:
                                            - required:
                                                - linkPortId
                                            - required:
                                                - cpProtocolData
                                            - required:
                                                - netAttDefResourceId
                                          type: object
                                          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 to the VNFM the need to create
                                                a dedicated link port for the external
                                                CP. If set to True, the VNFM shall
                                                create a link port. If set to False, the
                                                VNFM shall not create a link port. 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
                                            netAttDefResourceId:
                                              description: >
                                                Identifier of the
                                                “NetAttDefResourceData” structure that
                                                provides the specification of the
                                                interface to attach the external CP to a
                                                secondary container cluster network. It
                                                is only applicable if the external CP is
                                                connected or to be connected to a
                                                secondary container cluster network. It
                                                shall not be present if the external CP
                                                is related to a virtual network not
                                                categorized as secondary container
                                                cluster network. See notes 2, 3 and 4.
                                              type: array
                                              items:
                                                description: >
                                                  An identifier with the intention of
                                                  being globally unique.
                                                type: string
                                            cpProtocolData:
                                              description: >
                                                Parameters for configuring the network
                                                protocols on the link port that connects
                                                the CP to a VL. See notes 1 and 2.
                                              type: array
                                              items:
                                                description: "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n          in future versions of the present document in a backwards-compatible way. In the current\n          version of the present document, only IP over Ethernet is supported.\n"
                                                type: object
                                                required:
                                                  - layerProtocol
                                                properties:
                                                  layerProtocol:
                                                    description: >
                                                      Identifier of layer(s) and protocol(s).
                                                      Permitted values:
                                                        - IP_OVER_ETHERNET.
                                                        - IP_FOR_VIRTUAL_CP
                                                      See note
                                                    type: string
                                                    enum:
                                                      - IP_OVER_ETHERNET
                                                      - IP_FOR_VIRTUAL_CP
                                                  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.\n          Otherwise it shall not be present.\n* NOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the actual\n          network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header\n          of the packets or it may be an identifier used between the application and the NFVI networking\n          infrastructure to identify the network sub-interface of the trunk port in question. In the latter\n          case the NFVI infrastructure will map this local segmentationId to whatever segmentationId is\n          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
                                                      segmentationType:
                                                        description: "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s 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). 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
                                                            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. 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
                                                                the CISM or other resource provider. It
                                                                is expected to be unique within the VIM
                                                                instance.
                                                              type: string
                                                  virtualCpAddress:
                                                    description: >
                                                      This type represents network address
                                                      data for a virtual CP.

                                                      * NOTE 1: If the container cluster is
                                                      set up to be able to configure an
                                                      external load balancer this address will
                                                      be used,
                                                                otherwise it will be ignored by the CISM.
                                                      * NOTE 2: In case the cluster can
                                                      configure an external load balancer but
                                                      no loadBalancerIp is provided the
                                                      container
                                                                cluster will assign an IP address.
                                                      * NOTE 3: The attribute is only relevant
                                                      if the virtual CP is instantiated in a
                                                      cluster that supports configuration of
                                                      IP
                                                                address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for
                                                                Kubernetes® that supports configuration of address pools for load balancer services.
                                                      * NOTE 4: The loadBalancerIp and the
                                                      addressPoolName attributes shall not be
                                                      present at the same
                                                      time.                
                                                    type: object
                                                    required:
                                                      - type
                                                    properties:
                                                      type:
                                                        description: >
                                                          The type of the IP addresses. Permitted
                                                          values: IPV4, IPV6.
                                                        type: string
                                                        enum:
                                                          - IPV4
                                                          - IPV6
                                                      loadBalancerIp:
                                                        description: >
                                                          An IPV4 or IPV6 address. Representation:
                                                          In case of an IPV4 address, string that
                                                          consists of four decimal integers
                                                          separated by dots, each integer ranging
                                                          from 0 to 255. In case of an IPV6
                                                          address, string that consists of groups
                                                          of zero to four hexadecimal digits,
                                                          separated by colons.
                                                        type: string
                                                        format: IP
                                                      addressPoolName:
                                                        description: >
                                                          Name of an address pool from which the
                                                          container cluster will assign an IP
                                                          address to the virtual CP. See notes 3
                                                          and 4.
                                                        type: string
                                extNetAttDefResource:
                                  description: >
                                    Network attachment definition resources that
                                    provide the specification of the interface
                                    to attach connection points  to this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type contains information related to
                                      a network attachment definition resource
                                      that provides the  specification of the
                                      interface used to connect one or multiple
                                      connection points to a secondary
                                      container  cluster network.
                                    type: object
                                    required:
                                      - netAttDefResourceInfoId
                                      - netAttDefResource
                                    properties:
                                      netAttDefResourceInfoId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      netAttDefResource:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            type: string
                                      associatedExtCpId:
                                        description: >
                                          Identifier of the external CP associated
                                          to this network attachment definition
                                          resource. Shall be present  when the
                                          network attachment definition resource
                                          is used for external connectivity by the
                                          VNF.
                                        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
                                      associatedVnfcCpId:
                                        description: >
                                          Identifier of the VNFC CP associated to
                                          this network attachment definition
                                          resource. May be present when  the
                                          network attachment definition resource
                                          is used for internal connectivity by the
                                          VNF.
                                        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
                          extManagedVirtualLinkInfo:
                            description: >
                              Information about the externally-managed internal
                              VLs of the VNF instance. See notes 5 and 6.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - vnfVirtualLinkDescId
                                - networkResource
                              properties:
                                id:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                vnfVirtualLinkDescId:
                                  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
                                networkResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                vnfLinkPorts:
                                  description: |
                                    Link ports of this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type represents a link port of an
                                      internal VL of a VNF.

                                      NOTE 1: Either 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.
                                      NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                      provides examples for configurations where
                                      both vipCpInstanceId
                                              and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                              only vipCpInstanceId is present (UC6 and UC#6-b).
                                      NOTE 3: The value of "trunkResourceId" is
                                      scoped by the value of "vimConnectionId"
                                      in the "resourceHandle"
                                              attribute.
                                    type: object
                                    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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        type: string
                                vnfNetAttDefResource:
                                  description: >
                                    Network attachment definition resources that
                                    provide the specification of the interface
                                    to attach connection points to this VL.
                                  type: array
                                  items:
                                    description: >
                                      This type contains information related to
                                      a network attachment definition resource
                                      that provides the  specification of the
                                      interface used to connect one or multiple
                                      connection points to a secondary
                                      container  cluster network.
                                    type: object
                                    required:
                                      - netAttDefResourceInfoId
                                      - netAttDefResource
                                    properties:
                                      netAttDefResourceInfoId:
                                        description: >
                                          An identifier with the intention of
                                          being globally unique.
                                        type: string
                                      netAttDefResource:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            type: string
                                      associatedExtCpId:
                                        description: >
                                          Identifier of the external CP associated
                                          to this network attachment definition
                                          resource. Shall be present  when the
                                          network attachment definition resource
                                          is used for external connectivity by the
                                          VNF.
                                        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
                                      associatedVnfcCpId:
                                        description: >
                                          Identifier of the VNFC CP associated to
                                          this network attachment definition
                                          resource. May be present when  the
                                          network attachment definition resource
                                          is used for internal connectivity by the
                                          VNF.
                                        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
                                extManagedMultisiteVirtualLinkId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                          monitoringParameters:
                            description: |
                              Active monitoring parameters.
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - performanceMetric
                              properties:
                                id:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  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. Depending on the form of virtualisation container of the VNFC:\n  - For a VNFC based on VM, a reference to the corresponding VirtualCompute shall be provided, and\n  - For a VNFC based on OS container(s), a reference to the Compute MCIO shall be provided. Hence, exposure of\n    information by the VNFM to the NFVO is at the MCIO level.\nIn addition, the references to the storage resources depend on the form of the VNFC:\n  a) For a VNFC based on VM, storage resource identifiers shall refer to VirtualStorage resources, and\n  b) For a VNFC based on OS container(s), storage resource identifiers shall refer to Storage MCIOs.\n\nNOTE 1:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on \n        TOSCA specifications.\nNOTE 2:\tA VNFC CP is \"connected to\" an external CP if the VNFC CP is connected to an \n        internal VL that exposes an external CP. A VNFC CP is \"exposed as\" an external \n        CP if it is connected directly to an external VL.\nNOTE 3:\tThe information can be omitted because it is already available as part of the \n        external CP information.\nNOTE 4: If only the value or the presence of this attribute is changed in the \"VnfcResourceInfo\"\n        structure by an LCM operation occurrence, this does not represent a change that requires\n        including a related \"AffectedVnfc\" structure in the VNF LCM operation occurrence notifications\n        or the \"VnfLcmOpOcc\" structure related to this LCM operation occurrence.\nNOTE 5: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n        definition resource is needed to fulfil the connectivity requirements of the internal CP, e.g. to build a link\n        redundant mated pair in SR-IOV cases.\nNOTE 6: When more than one netAttDefResourceId is indicated, all shall belong to the same namespace.\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
                                vduId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                computeResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                storageResourceIds:
                                  description: >
                                    References to the VirtualStorage resources
                                    or references to Storage MCIOs. The value
                                    refers to a VirtualStorageResourceInfo item
                                    in the VnfInstance.
                                  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
                                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: >
                                          An identifier that is unique within a
                                          VNF descriptor.
                                        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 uses together with protocol-related information, like addresses.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the \n      present document in a backwards-compatible way. In the current version of the present document, only IP over \n      Ethernet is supported.\n"
                                          type: object
                                          required:
                                            - layerProtocol
                                          properties:
                                            layerProtocol:
                                              description: >
                                                The identifier of layer(s) and
                                                protocol(s) associated to the network
                                                address information.

                                                Permitted values:
                                                  - IP_OVER_ETHERNET
                                                  - IP_FOR_VIRTUAL_CP
                                                See note.
                                              type: string
                                              enum:
                                                - IP_OVER_ETHERNET
                                                - IP_FOR_VIRTUAL_CP
                                            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. \n        Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n        actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n        transport header of the packets or it may be an identifier used between the application \n        and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n        port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n        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
                                                    notes 3 and 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. 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
                                                          the CISM or other resource provider. It
                                                          is expected to be unique within the VIM
                                                          instance.
                                                        type: string
                                            virtualCpAddress:
                                              description: >
                                                This type represents information about a
                                                network address that has been assigned
                                                to a virtual CP.
                                              type: object
                                              required:
                                                - type
                                              properties:
                                                type:
                                                  description: >
                                                    The type of the IP addresses. Permitted
                                                    values: - IPV4 - IPV6
                                                  type: string
                                                  enum:
                                                    - IPV4
                                                    - IPV6
                                                loadBalancerIp:
                                                  description: >
                                                    An IPV4 or IPV6 address. Representation:
                                                    In case of an IPV4 address, string that
                                                    consists of four decimal integers
                                                    separated by dots, each integer ranging
                                                    from 0 to 255. In case of an IPV6
                                                    address, string that consists of groups
                                                    of zero to four hexadecimal digits,
                                                    separated by colons.
                                                  type: string
                                                  format: IP
                                                addressPoolName:
                                                  description: >
                                                    Name of an address pool from which an IP
                                                    address is assigned to the virtual CP.
                                                  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
                                      parentCpId:
                                        description: >
                                          An identifier that is unique for the
                                          respective type within a VNF instance,
                                          but may not be globally unique.
                                        type: string
                                      netAttDefResourceId:
                                        description: >
                                          Identifier of the
                                          “NetAttDefResourceInfo” structure that
                                          provides the specification of the
                                          interface to attach the connection point
                                          to a secondary container cluster
                                          network. See notes 5 and 6. It shall be
                                          present if the internal CP is associated
                                          to a VNFC realized by one or a set of OS
                                          containers and is connected to a
                                          secondary container cluster network. It
                                          shall not be present otherwise.
                                        type: array
                                        items:
                                          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 keyvalue pairs is represented as an
                                          object. It shall comply with the
                                          provisions defined in clause 4 of IETF
                                          RFC 8259. In the following example, a
                                          list of key-value pairs with four keys
                                          ("aString", "aNumber", "anArray" and
                                          "anObject") is provided to illustrate
                                          that the values associated with
                                          different keys can be of different type.
                                        type: object
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          vnfVirtualLinkResourceInfo:
                            description: >
                              Information about the virtualised network
                              resources used by the VLs of the VNF instance. See
                              note 6.
                            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.

                                Note: If only the value or the presence of this
                                attribute is changed in the
                                "VnfVirtualLinkResourceInfo"
                                      structure by an LCM operation occurrence, this does not represent a change that requires including
                                      a related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
                                      "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                              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
                                vnfVirtualLinkDescId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                networkResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  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
                                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:
                                    description: >
                                      This type represents a link port of an
                                      internal VL of a VNF.

                                      NOTE 1: Either 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.
                                      NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007
                                      provides examples for configurations where
                                      both vipCpInstanceId
                                              and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or 
                                              only vipCpInstanceId is present (UC6 and UC#6-b).
                                      NOTE 3: The value of "trunkResourceId" is
                                      scoped by the value of "vimConnectionId"
                                      in the "resourceHandle"
                                              attribute.
                                    type: object
                                    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:
                                        required:
                                          - resourceId
                                        type: object
                                        description: >
                                          This type represents the information
                                          that allows addressing a virtualised
                                          resource that is used by a VNF instance.
                                          Information about the resource is
                                          available from the VIM.

                                          * NOTE 1: The value set of the
                                          "vimLevelResourceType" attribute is
                                          within the scope of the VIM or CISM or
                                          the resource 
                                                    provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                                    the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                                    infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                                    resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                                    e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                          * NOTE 2: When the container
                                          infrastructure service management is a
                                          Kubernetes® instance the resourceId
                                          shall be 
                                                    populated in the following way:
                                                    - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                                    per resource type.
                                                    - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                                    i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                                    Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                                    manifest.
                                                    - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                                    the 'metadata.name' field in Kubernetes® manifest.
                                        properties:
                                          vimConnectionId:
                                            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
                                              the CISM or other resource provider. It
                                              is expected to be unique within the VIM
                                              instance.
                                            type: string
                                          vimLevelResourceType:
                                            description: >
                                              Type of the resource in the scope of the
                                              VIM or the CISM or the resource
                                              provider. See note 1.
                                            type: string
                                          vimLevelAdditionalResourceInfo:
                                            description: >
                                              This type represents additional resource
                                              information which resource and resource
                                              type specific, and which is available
                                              from the VIM or the CISM or the resource
                                              provider.

                                              * NOTE: At least one attribute shall be
                                              present.
                                            type: object
                                            properties:
                                              hostName:
                                                description: >
                                                  Name of the host where the resource is
                                                  allocated. It shall be present for
                                                  compute resources in the scope of the
                                                  CISM and shall be absent otherwise. See
                                                  note.
                                                type: string
                                              persistentVolume:
                                                description: >
                                                  Name of the persistent volume to which
                                                  the persistent volume claim representing
                                                  the storage resource is bound. It may be
                                                  present for storage resources in the
                                                  scope of the CISM and shall be absent
                                                  otherwise. See note.
                                                type: string
                                              additionalInfo:
                                                description: >
                                                  This type represents a list of key-value
                                                  pairs. The order of the pairs in the
                                                  list is not significant. In JSON, a set
                                                  of keyvalue pairs is represented as an
                                                  object. It shall comply with the
                                                  provisions defined in clause 4 of IETF
                                                  RFC 8259. In the following example, a
                                                  list of key-value pairs with four keys
                                                  ("aString", "aNumber", "anArray" and
                                                  "anObject") is provided to illustrate
                                                  that the values associated with
                                                  different keys can be of different type.
                                                type: object
                                          containerNamespace:
                                            description: >
                                              The value of the namespace in which the
                                              MCIO corresponding to the resource is
                                              deployed. This attribute shall be
                                              present if the resource is managed by a
                                              CISM and it shall be absent otherwise.
                                            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.\nPermitted values: - VNFC_CP: The link port is connected to a VNFC CP. -\tEXT_CP: The link port is associated to an external CP. See note 1.\n"
                                        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
                                          the CISM or other resource provider. It
                                          is expected to be unique within the VIM
                                          instance.
                                        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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          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.

                                Note: If only the value or the presence of this
                                attribute is changed in the
                                "VirtualStorageResourceInfo"
                                      structure by an LCM operation occurrence, this does not represent a change that requires
                                      including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
                                      notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
                              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: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                vnfdId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                storageResource:
                                  required:
                                    - resourceId
                                  type: object
                                  description: >
                                    This type represents the information that
                                    allows addressing a virtualised resource
                                    that is used by a VNF instance. Information
                                    about the resource is available from the
                                    VIM.

                                    * NOTE 1: The value set of the
                                    "vimLevelResourceType" attribute is within
                                    the scope of the VIM or CISM or the
                                    resource 
                                              provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                              the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                              infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                              resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                              e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                                    * NOTE 2: When the container infrastructure
                                    service management is a Kubernetes® instance
                                    the resourceId shall be 
                                              populated in the following way:
                                              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                              per resource type.
                                              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                              manifest.
                                              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                              the 'metadata.name' field in Kubernetes® manifest.
                                  properties:
                                    vimConnectionId:
                                      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
                                        the CISM or other resource provider. It
                                        is expected to be unique within the VIM
                                        instance.
                                      type: string
                                    vimLevelResourceType:
                                      description: >
                                        Type of the resource in the scope of the
                                        VIM or the CISM or the resource
                                        provider. See note 1.
                                      type: string
                                    vimLevelAdditionalResourceInfo:
                                      description: >
                                        This type represents additional resource
                                        information which resource and resource
                                        type specific, and which is available
                                        from the VIM or the CISM or the resource
                                        provider.

                                        * NOTE: At least one attribute shall be
                                        present.
                                      type: object
                                      properties:
                                        hostName:
                                          description: >
                                            Name of the host where the resource is
                                            allocated. It shall be present for
                                            compute resources in the scope of the
                                            CISM and shall be absent otherwise. See
                                            note.
                                          type: string
                                        persistentVolume:
                                          description: >
                                            Name of the persistent volume to which
                                            the persistent volume claim representing
                                            the storage resource is bound. It may be
                                            present for storage resources in the
                                            scope of the CISM and shall be absent
                                            otherwise. See note.
                                          type: string
                                        additionalInfo:
                                          description: >
                                            This type represents a list of key-value
                                            pairs. The order of the pairs in the
                                            list is not significant. In JSON, a set
                                            of keyvalue pairs is represented as an
                                            object. It shall comply with the
                                            provisions defined in clause 4 of IETF
                                            RFC 8259. In the following example, a
                                            list of key-value pairs with four keys
                                            ("aString", "aNumber", "anArray" and
                                            "anObject") is provided to illustrate
                                            that the values associated with
                                            different keys can be of different type.
                                          type: object
                                    containerNamespace:
                                      description: >
                                        The value of the namespace in which the
                                        MCIO corresponding to the resource is
                                        deployed. This attribute shall be
                                        present if the resource is managed by a
                                        CISM and it shall be absent otherwise.
                                      type: string
                                zoneId:
                                  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
                                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 keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                          mcioInfo:
                            description: >
                              Information on the MCIO(s) representing VNFC
                              instance(s) realized by one or a set of OS
                              containers and created from the same VDU for the
                              VNF instance.
                            type: array
                            items:
                              description: >
                                This type provides information about an MCIO
                                representing the set of VNFC instances realized
                                by one  or a set of OS containers which have
                                been created based on the same VDU. Within the
                                CISM, an MCIO controller monitors the actual
                                state of an MCIO representing the set of VNFC 
                                instances realized by one or a set of OS
                                containers and compare it to the desired state
                                as specified  in the respective declarative
                                descriptor. It triggers actions toward the CIS
                                to align the actual to  the desired state.
                                Monitoring the actual state includes monitoring
                                the number of MCIO instances available  at any
                                specific point in time. In addition, an MCIO
                                controller maintains properties and runtime
                                information  on the MCIO instances which have
                                been created based on the same VDU. The McioInfo
                                data structure provides the runtime information
                                on the MCIOs obtained from the MCIO controller.

                                NOTE: There are different types of MCIOs. The
                                set of VNFC instances based on the same VDU is
                                represented 
                                      by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type 
                                      of MCIO, e.g. a POD.

                                Runtime information of the set of OS containers
                                realizing an individual VNFC instance is not
                                part of the  McioInfo data structure; such
                                runtime information is provided in the
                                ResourceHandle data structure  referenced from
                                the VnfcResourceInfo. The McioInfo does not
                                provide runtime information of a constituent 
                                VNFC instance created based on a specific VDU.

                                NOTE 1: The type of MCIO as specified in the
                                declarative descriptor of the MCIO, and that can
                                be read from 
                                        the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the 
                                        “kind” property of the declarative descriptor.
                                NOTE 2: If the attribute additionalInfo is
                                present, it may contain runtime information on
                                the actual and 
                                        desired state of the MCIO(s).   
                                NOTE 3: When the container infrastructure
                                service is a Kubernetes® instance, the mcioId is
                                the combined 
                                        values from the kind and name fields of the Kubernetes resource object, separated by a slash. 
                                        Example: "Deployment/abcd". 
                                NOTE 4: When the container infrastructure
                                service is a Kubernetes® instance, the mcioName
                                is the name 
                                        field of the resource object.          
                              type: object
                              required:
                                - mcioId
                                - mcioName
                                - mcioNamespace
                                - vduId
                                - cismId
                                - mcioType
                                - desiredInstances
                                - availableInstances
                              properties:
                                mcioId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                mcioName:
                                  description: >
                                    Human readable name of this MCIO. See note
                                    4.
                                  type: string
                                mcioNamespace:
                                  description: |
                                    Namespace of this MCIO.
                                  type: string
                                vduId:
                                  description: >
                                    An identifier that is unique within a VNF
                                    descriptor.
                                  type: string
                                cismId:
                                  description: >
                                    An identifier with the intention of being
                                    globally unique.
                                  type: string
                                mcioType:
                                  description: >
                                    The type of MCIO. Specific values, their
                                    semantics and associated MCIO types are
                                    defined in clause  5.5.4.9. Additional
                                    values are also permitted. See note 1.
                                  type: string
                                  enum:
                                    - Deployment
                                    - Statefulset
                                desiredInstances:
                                  description: |
                                    Number of desired MCIO instances.
                                  type: integer
                                availableInstances:
                                  description: |
                                    Number of available MCIO instances.
                                  type: integer
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                      _links:
                        description: |
                          Links to resources related to this resource.
                        type: object
                        required:
                          - self
                        properties:
                          self:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          indicators:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          instantiate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          terminate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          scale:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          scaleToLevel:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeFlavour:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          heal:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          operate:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeExtConn:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          createSnapshot:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          revertToSnapshot:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                          changeCurrentVnfPkg:
                            description: >
                              This type represents a link to a resource using an
                              absolute URI.
                            type: object
                            required:
                              - href
                            properties:
                              href:
                                description: |
                                  String formatted according to IETF RFC 3986.
                                type: string
                  vnfcSnapshots:
                    description: >
                      Information about VNFC snapshots constituting this VNF
                      snapshot.
                    type: array
                    items:
                      description: "This type represents a VNFC snapshot.\nNOTE 1:\tThe identifier of the compute snapshot resource is assigned during creation of a VNFC snapshot \n        being returned from the VIM as output data in the response message of the individual resource \n        operations. This attribute shall only be present for a VNFC snapshot that has been newly created \n        by the VNFM as a result of the \"Create VNF snapshot task\".\nNOTE 2:\tThe identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot being \n        returned from the VIM as output data in the response message of the individual resource operations. \n        This attribute shall only be present for a VNFC snapshot with an associated storage resource and that \n        has been newly created by the VNFM as a result of the \"Create VNF snapshot task\".\n"
                      type: object
                      required:
                        - id
                        - vnfcInstanceId
                        - triggeredAt
                        - vnfcResourceId
                      properties:
                        id:
                          description: >
                            An identifier that is unique within a limited local
                            scope other than above listed identifiers, such as
                            within a complex data structure or within a
                            request-response pair. Representation: string of
                            variable length.
                          type: string
                        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 to IETF RFC 3339.
                          type: string
                          format: date-time
                        creationFinishedAt:
                          description: >
                            Date-time stamp. Representation: String formatted
                            according to IETF RFC 3339.
                          type: string
                          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:
                          required:
                            - resourceId
                          type: object
                          description: >
                            This type represents the information that allows
                            addressing a virtualised resource that is used by a
                            VNF instance. Information about the resource is
                            available from the VIM.

                            * NOTE 1: The value set of the
                            "vimLevelResourceType" attribute is within the scope
                            of the VIM or CISM or the resource 
                                      provider and can be used as information that complements the ResourceHandle. This value set is different from 
                                      the value set of the "type" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container 
                                      infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of 
                                      resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, 
                                      e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.

                            * NOTE 2: When the container infrastructure service
                            management is a Kubernetes® instance the resourceId
                            shall be 
                                      populated in the following way:
                                      - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                                      per resource type.
                                      - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                                      i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                                      Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                                      manifest.
                                      - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of 
                                      the 'metadata.name' field in Kubernetes® manifest.
                          properties:
                            vimConnectionId:
                              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 the CISM
                                or other resource provider. It is expected to be
                                unique within the VIM instance.
                              type: string
                            vimLevelResourceType:
                              description: >
                                Type of the resource in the scope of the VIM or
                                the CISM or the resource provider. See note 1.
                              type: string
                            vimLevelAdditionalResourceInfo:
                              description: >
                                This type represents additional resource
                                information which resource and resource type
                                specific, and which is available from the VIM or
                                the CISM or the resource provider.

                                * NOTE: At least one attribute shall be present.
                              type: object
                              properties:
                                hostName:
                                  description: >
                                    Name of the host where the resource is
                                    allocated. It shall be present for compute
                                    resources in the scope of the CISM and shall
                                    be absent otherwise. See note.
                                  type: string
                                persistentVolume:
                                  description: >
                                    Name of the persistent volume to which the
                                    persistent volume claim representing the
                                    storage resource is bound. It may be present
                                    for storage resources in the scope of the
                                    CISM and shall be absent otherwise. See
                                    note.
                                  type: string
                                additionalInfo:
                                  description: >
                                    This type represents a list of key-value
                                    pairs. The order of the pairs in the list is
                                    not significant. In JSON, a set of keyvalue
                                    pairs is represented as an object. It shall
                                    comply with the provisions defined in clause
                                    4 of IETF RFC 8259. In the following
                                    example, a list of key-value pairs with four
                                    keys ("aString", "aNumber", "anArray" and
                                    "anObject") is provided to illustrate that
                                    the values associated with different keys
                                    can be of different type.
                                  type: object
                            containerNamespace:
                              description: >
                                The value of the namespace in which the MCIO
                                corresponding to the resource is deployed. This
                                attribute shall be present if the resource is
                                managed by a CISM and it shall be absent
                                otherwise.
                              type: string
                        storageSnapshotResources:
                          description: >
                            Mapping of the storage resources associated to the
                            VNFC with the storage snapshot resources.
                          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
                              storageSnapshotResource:
                                description: >
                                  This type represents a list of key-value
                                  pairs. The order of the pairs in the list is
                                  not significant. In JSON, a set of keyvalue
                                  pairs is represented as an object. It shall
                                  comply with the provisions defined in clause 4
                                  of IETF RFC 8259. In the following example, a
                                  list of key-value pairs with four keys
                                  ("aString", "aNumber", "anArray" and
                                  "anObject") is provided to illustrate that the
                                  values associated with different keys can be
                                  of different type.
                                type: object
                        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 keyvalue pairs is represented as
                            an object. It shall comply with the provisions
                            defined in clause 4 of IETF RFC 8259. In the
                            following example, a list of key-value pairs with
                            four keys ("aString", "aNumber", "anArray" and
                            "anObject") is provided to illustrate that the
                            values associated with different keys can be of
                            different type.
                          type: object
                  vnfStateSnapshotInfo:
                    description: >
                      This type represents information about VNF-specific state
                      snapshot data.
                    type: object
                    required:
                      - checksum
                      - isEncrypted
                    properties:
                      checksum:
                        description: |
                          Cheksum description
                        type: string
                      isEncrypted:
                        description: >
                          The Boolean is a data type having two values (true and
                          false).
                        type: boolean
                      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 keyvalue pairs is represented as an
                          object. It shall comply with the provisions defined in
                          clause 4 of IETF RFC 8259. In the following example, a
                          list of key-value pairs with four keys ("aString",
                          "aNumber", "anArray" and "anObject") is provided to
                          illustrate that the values associated with different
                          keys can be of different type.
                        type: object
                  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 keyvalue pairs is represented as an object. It
                      shall comply with the provisions defined in clause 4 of
                      IETF RFC 8259. In the following example, a list of
                      key-value pairs with four keys ("aString", "aNumber",
                      "anArray" and "anObject") is provided to illustrate that
                      the values associated with different keys can be of
                      different type.
                    type: object
                  _links:
                    description: |
                      Links to resources related to this resource.
                    type: object
                    required:
                      - self
                    properties:
                      self:
                        description: >
                          This type represents a link to a resource using an
                          absolute URI.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
                      vnfStateSnapshot:
                        description: >
                          This type represents a link to a resource using an
                          absolute URI.
                        type: object
                        required:
                          - href
                        properties:
                          href:
                            description: |
                              String formatted according to IETF RFC 3986.
                            type: string
    IndividualVnfSnapshot.Patch.409:
      description: |
        409 CONFLICT

        Shall be returned upon the following error: The
        operation cannot be executed currently, due to a
        conflict with the state of the "Individual VNF
        snapshot" resource.
        Typically, this is due to the fact another
        modification is ongoing or that the "Individual VNF
        snapshot" resource information is not empty due to
        a previously successful modification or currently
        being modified due to an underlying VNF snapshot
        operation.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute should
        convey more information about the error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

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


        Shall be returned upon the following error: A precondition given in an
        HTTP request header is

        not fulfilled.

        Typically, this is due to an ETag mismatch, indicating that the resource
        was modified by

        another entity.

        The response body should contain a ProblemDetails structure, in which
        the "detail"

        attribute should convey more information about the error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
    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:
        WWW-Authenticate:
          description: >
            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
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
    IndividualVnfSnapshot.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 VNF snapshot
        is in use by some operation such as reverting a VNF
        instance to a VNF snapshot or creating a VNF
        snapshot package.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute shall convey
        more information about the error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

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


        Shall be returned when the whole content of the VNF state snapshot file
        has been read successfully.


        The message content shall contain a copy of the VNF state snapshot file
        and the "Content-Type" HTTP

        header shall be set according to the content type of the VNF state
        snapshot file. If the VNF state 

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


        If the content type cannot be determined, the header shall be set to the
        value "application/octet-stream".
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/*:
          schema:
            type: string
            format: binary
    IndividualVnfSnapshotState.Get.206:
      description: >
        206 PARTIAL CONTENT


        If the VNFM supports range requests, this response shall be returned
        when a single consecutive byte

        range from the content of the VNF state snapshot file has been read
        successfully according to the request.


        The response body shall contain the requested part of the VNF state
        snapshot file. The "Content-Type" HTTP 

        header shall be set according to the content type of the VNF state
        snapshot file. If the content type cannot 

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


        The "Content-Range" HTTP header shall be provided according to IETF RFC
        7233.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Range:
          required: true
          style: simple
          explode: false
          schema:
            type: string
      content:
        application/*:
          schema:
            type: string
            format: binary
    IndividualVnfSnapshotState.Get.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 VNF
        snapshot creation process is not completed.
        The response body shall contain a ProblemDetails
        structure, in which the "detail" attribute shall convey
        more information about the error.
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

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

        Shall be returned upon the following error: The byte
        range passed in the "Range" header did not match
        any available byte range in the VNF state snapshot
        file (e.g. "access after end of file").
        The response body may contain a ProblemDetails
        structure
      headers:
        WWW-Authenticate:
          description: >
            Challenge if the corresponding HTTP request has not provided
            authorization, or error details if the

            corresponding HTTP request has provided an invalid authorization
            token.
          style: simple
          explode: false
          schema:
            type: string
        Version:
          description: The used API version.
          style: simple
          explode: false
          schema:
            type: string
        Content-Type:
          description: |
            The MIME type of the body of the response. Reference: IETF RFC 7231
          style: simple
          explode: false
          schema:
            type: string

