SOL002-VNFLifecycleManagement-API.yaml 1.61 MB
Newer Older
23001 23002 23003 23004 23005 23006 23007 23008 23009 23010 23011 23012 23013 23014 23015 23016 23017 23018 23019 23020 23021 23022 23023 23024 23025 23026 23027 23028 23029 23030 23031 23032 23033 23034 23035 23036 23037 23038 23039 23040 23041 23042 23043 23044 23045 23046 23047 23048 23049 23050 23051 23052 23053 23054 23055 23056 23057 23058 23059 23060 23061 23062 23063 23064 23065 23066 23067 23068 23069 23070 23071 23072 23073 23074 23075 23076 23077 23078 23079 23080 23081 23082 23083 23084 23085 23086 23087 23088 23089 23090 23091 23092 23093 23094 23095 23096 23097 23098 23099 23100 23101 23102 23103 23104 23105 23106 23107 23108 23109 23110 23111 23112 23113 23114 23115 23116 23117 23118 23119 23120 23121 23122 23123 23124 23125 23126 23127 23128 23129 23130 23131 23132 23133 23134 23135 23136 23137 23138 23139 23140 23141 23142 23143 23144 23145 23146 23147 23148 23149 23150 23151 23152 23153 23154 23155 23156 23157 23158 23159 23160 23161 23162 23163 23164 23165 23166 23167 23168 23169 23170 23171 23172 23173 23174 23175 23176 23177 23178 23179 23180 23181 23182 23183 23184 23185 23186 23187 23188 23189 23190 23191 23192 23193 23194 23195 23196 23197 23198 23199 23200 23201 23202 23203 23204 23205 23206 23207 23208 23209 23210 23211 23212 23213 23214 23215 23216 23217 23218 23219 23220 23221 23222 23223 23224 23225 23226 23227 23228 23229 23230 23231 23232 23233 23234 23235 23236 23237 23238 23239 23240 23241 23242 23243 23244 23245 23246 23247 23248 23249 23250 23251 23252 23253 23254 23255 23256 23257 23258 23259 23260 23261 23262 23263 23264 23265 23266 23267 23268 23269 23270 23271 23272 23273 23274 23275 23276 23277 23278 23279 23280 23281 23282 23283 23284 23285 23286 23287 23288 23289 23290 23291 23292 23293 23294 23295 23296 23297 23298 23299 23300 23301 23302 23303 23304 23305 23306 23307 23308 23309 23310 23311 23312 23313 23314 23315 23316 23317 23318 23319 23320 23321 23322 23323 23324 23325 23326 23327 23328 23329 23330 23331 23332 23333 23334 23335 23336 23337 23338 23339 23340 23341 23342 23343 23344 23345 23346 23347 23348 23349 23350 23351 23352 23353 23354 23355 23356 23357 23358 23359 23360 23361 23362 23363 23364 23365 23366 23367 23368 23369 23370 23371 23372 23373 23374 23375 23376 23377 23378 23379 23380 23381 23382 23383 23384 23385 23386 23387 23388 23389 23390 23391 23392 23393 23394 23395 23396 23397 23398 23399 23400 23401 23402 23403 23404 23405 23406 23407 23408 23409 23410 23411 23412 23413 23414 23415 23416 23417 23418 23419 23420 23421 23422 23423 23424 23425 23426 23427 23428 23429 23430 23431 23432 23433 23434 23435 23436 23437 23438 23439 23440 23441 23442 23443 23444 23445 23446 23447 23448 23449 23450 23451 23452 23453 23454 23455 23456 23457 23458 23459 23460 23461 23462 23463 23464 23465 23466 23467 23468 23469 23470 23471 23472 23473 23474 23475 23476 23477 23478 23479 23480 23481 23482 23483 23484 23485 23486 23487 23488 23489 23490 23491 23492 23493 23494 23495 23496 23497 23498 23499 23500 23501 23502 23503 23504 23505 23506 23507 23508 23509 23510 23511 23512 23513 23514 23515 23516 23517 23518 23519 23520 23521 23522 23523 23524 23525 23526 23527 23528 23529 23530 23531 23532 23533 23534 23535 23536 23537 23538 23539 23540 23541 23542 23543 23544 23545 23546 23547 23548 23549 23550 23551 23552 23553 23554 23555 23556 23557 23558 23559 23560 23561 23562 23563 23564 23565 23566 23567 23568 23569 23570 23571 23572 23573 23574 23575 23576 23577 23578 23579 23580 23581 23582 23583 23584 23585 23586 23587 23588 23589 23590 23591 23592 23593 23594 23595 23596 23597 23598 23599 23600 23601 23602 23603 23604 23605 23606 23607 23608 23609 23610 23611 23612 23613 23614 23615 23616 23617 23618 23619 23620 23621 23622 23623 23624 23625 23626 23627 23628 23629 23630 23631 23632 23633 23634 23635 23636 23637 23638 23639 23640 23641 23642 23643 23644 23645 23646 23647 23648 23649 23650 23651 23652 23653 23654 23655 23656 23657 23658 23659 23660 23661 23662 23663 23664 23665 23666 23667 23668 23669 23670 23671 23672 23673 23674 23675 23676 23677 23678 23679 23680 23681 23682 23683 23684 23685 23686 23687 23688 23689 23690 23691 23692 23693 23694 23695 23696 23697 23698 23699 23700 23701 23702 23703 23704 23705 23706 23707 23708 23709 23710 23711 23712 23713 23714 23715 23716 23717 23718 23719 23720 23721 23722 23723 23724 23725 23726 23727 23728 23729 23730 23731 23732 23733 23734 23735 23736 23737 23738 23739 23740 23741 23742 23743 23744 23745 23746 23747 23748 23749 23750 23751 23752 23753 23754 23755 23756 23757 23758 23759 23760 23761 23762 23763 23764 23765 23766 23767 23768 23769 23770 23771 23772 23773 23774 23775 23776 23777 23778 23779 23780 23781 23782 23783 23784 23785 23786 23787 23788 23789 23790 23791 23792 23793 23794 23795 23796 23797 23798 23799 23800 23801 23802 23803 23804 23805 23806 23807 23808 23809 23810 23811 23812 23813 23814 23815 23816 23817 23818 23819 23820 23821 23822 23823 23824 23825 23826 23827 23828 23829 23830 23831 23832 23833 23834 23835 23836 23837 23838 23839 23840 23841 23842 23843 23844 23845 23846 23847 23848 23849 23850 23851 23852 23853 23854 23855 23856 23857 23858 23859 23860 23861 23862 23863 23864 23865 23866 23867 23868 23869 23870 23871 23872 23873 23874 23875 23876 23877 23878 23879 23880 23881 23882 23883 23884 23885 23886 23887 23888 23889 23890 23891 23892 23893 23894 23895 23896 23897 23898 23899 23900 23901 23902 23903 23904 23905 23906 23907 23908 23909 23910 23911 23912 23913 23914 23915 23916 23917 23918 23919 23920 23921 23922 23923 23924 23925 23926 23927 23928 23929 23930 23931 23932 23933 23934 23935 23936 23937 23938 23939 23940 23941 23942 23943 23944 23945 23946 23947 23948 23949 23950 23951 23952 23953 23954 23955 23956 23957 23958 23959 23960 23961 23962 23963 23964 23965 23966 23967 23968 23969 23970 23971 23972 23973 23974 23975 23976 23977 23978 23979 23980 23981 23982 23983 23984 23985 23986 23987 23988 23989 23990 23991 23992 23993 23994 23995 23996 23997 23998 23999 24000
                format: URI
  /vnf_lcm_op_occs:
    get:
      description: >
        The client can use this method to query status information about
        multiple VNF lifecycle management operation occurrences.
      responses:
        '200':
          description: >
            OK

            Status information for zero or more VNF lifecycle management
            operation occurrences was queried successfully. The response body
            shall contain status information about zero or more VNF lifecycle
            operation occurrences.
          headers:
            Content-Type:
              description: The MIME type of the body of the response.
              type: string
              maximum: 1
              minimum: 1
            WWW-Authenticate:
              description: >
                Challenge if the corresponding HTTP request has not provided
                authorization, or error details if the corresponding HTTP
                request has provided an invalid authorization token.
              type: string
              maximum: 1
              minimum: 0
          schema:
            description: >
              This type represents a VNF lifecycle management operation
              occurrence.
            type: object
            required:
              - id
              - operationState
              - stateEnteredTime
              - startTime
              - vnfInstanceId
              - operation
              - isAutomaticInvocation
              - operationParams
              - isCancelPending
            properties:
              id:
                description: |
                  An identifier with the intention of being globally unique.
                type: string
              operationState:
                description: >
                  Value | Description ------|------------ STARTING | The LCM
                  operation is starting. PROCESSING | The LCM operation is
                  currently in execution. COMPLETED | he 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 when the current state was entered.
                type: string
                format: date-time
              startTime:
                description: |
                  Date-time of the start of the operation.
                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: >
                  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.     
                type: string
                enum:
                  - INSTANTIATE
                  - SCALE
                  - SCALE_TO_LEVEL
                  - CHANGE_FLAVOUR
                  - TERMINATE
                  - HEAL
                  - OPERATE
                  - CHANGE_EXT_CONN
                  - MODIFY_INFO
              isAutomaticInvocation:
                description: >
                  Set to true if this VNF LCM operation occurrence has been
                  triggered by an automated procedure inside the VNFM (i.e.
                  ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf
                  triggered by auto-heal). Set to false otherwise.
                type: boolean
              operationParams:
                description: >
                  This type represents a list of key-value pairs. The order of
                  the pairs in the list is not significant. In JSON, a set of
                  key- value pairs is represented as an object. It shall comply
                  with the provisions  defined in clause 4 of IETF RFC 7159. 
                type: object
              isCancelPending:
                description: >
                  If the VNF LCM operation occurrence is in "STARTING",
                  "PROCESSING" or "ROLLING_BACK" state and the operation is
                  being cancelled, this attribute shall be set to true.
                  Otherwise, it shall be set to false.
                type: boolean
              cancelMode:
                description: >
                  Cancellation mode. GRACEFUL: 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. FORCEFUL: 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.
                type: string
                enum:
                  - GRACEFUL
                  - FORCEFUL
              error:
                description: >
                  The definition of the general "ProblemDetails" data structure
                  from IETF RFC 7807 [19] is reproduced inthis structure.
                  Compared to the general framework defined in IETF RFC 7807
                  [19], the "status" and "detail" attributes are mandated to be
                  included by the present document, to ensure that the response
                  contains additional textual information about an error. IETF
                  RFC 7807 [19] foresees extensibility of the "ProblemDetails"
                  type. It is possible that particular APIs in the present
                  document, or particular implementations, define extensions to
                  define additional attributes that provide more information
                  about the error. The description column only provides some
                  explanation of the meaning to Facilitate understanding of the
                  design. For a full description, see IETF RFC 7807 [19].
                type: object
                required:
                  - status
                  - detail
                properties:
                  type:
                    description: >
                      A URI reference according to IETF RFC 3986 [5] that
                      identifies the problem type. It is encouraged that the URI
                      provides human-readable documentation for the problem
                      (e.g. using HTML) when dereferenced. When this member is
                      not present, its value is assumed to be "about:blank".
                    type: string
                    format: URI
                  title:
                    description: >
                      A short, human-readable summary of the problem type. It
                      should not change from occurrence to occurrence of the
                      problem, except for purposes of localization. If type is
                      given and other than "about:blank", this attribute shall
                      also be provided. A short, human-readable summary of the
                      problem type.  It SHOULD NOT change from occurrence to
                      occurrence of the problem, except for purposes of
                      localization (e.g., using proactive content negotiation;
                      see [RFC7231], Section 3.4).
                    type: string
                  status:
                    description: >
                      The HTTP status code for this occurrence of the problem.
                      The HTTP status code ([RFC7231], Section 6) generated by
                      the origin server for this occurrence of the problem.
                    type: integer
                  detail:
                    description: >
                      A human-readable explanation specific to this occurrence
                      of the problem.
                    type: string
                  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. This allows the NFVO to obtain
                      the information contained in the latest "result"
                      notification if it has not received it due to an error or
                      a wrongly configured subscription filter.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted,
                        modified and temporary VNFCs.  
                      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
                        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:
                            - vimConnectionId
                            - 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.
                          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 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 resource provider.
                              type: string
                        metadata:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of key- value pairs is represented as
                            an object. It shall comply with the provisions 
                            defined in clause 4 of IETF RFC 7159. 
                          type: object
                        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. This allows the NFVO to obtain
                      the information contained in the latest "result"
                      notification if it has not received it due to an error or
                      a wrongly configured subscription filter.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted,
                        modified and temporary VLs.
                      type: object
                      required:
                        - id
                        - virtualLinkDescId
                        - 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
                        virtualLinkDescId:
                          description: >
                            An identifier that is unique within a VNF
                            descriptor.
                          type: string
                        changeType:
                          description: >
                            Signals the type of change. Permitted values: *
                            ADDED * REMOVED * MODIFIED * TEMPORARY *
                            LINK_PORT_ADDED * LINK_PORT_REMOVED For a temporary
                            resource, an AffectedVirtualLink structure exists as
                            long as the temporary resource exists.
                          type: string
                          enum:
                            - ADDED
                            - REMOVED
                            - MODIFIED
                            - TEMPORARY
                            - LINK_PORT_ADDED
                            - LINK_PORT_REMOVED
                        networkResource:
                          required:
                            - vimConnectionId
                            - 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.
                          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 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 resource provider.
                              type: string
                        metadata:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of key- value pairs is represented as
                            an object. It shall comply with the provisions 
                            defined in clause 4 of IETF RFC 7159. 
                          type: object
                  affectedVirtualStorages:
                    description: >
                      Information about virtualised storage instances that were
                      affected during the lifecycle operation. This allows the
                      NFVO to obtain the information contained in the latest
                      "result" notification if it has not received it due to an
                      error or a wrongly configured subscription filter.
                    type: array
                    items:
                      description: >
                        This type provides information about added, deleted,
                        modified and temporary virtual storage resources.
                      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
                        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:
                            - vimConnectionId
                            - 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.
                          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 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 resource provider.
                              type: string
                        metadata:
                          description: >
                            This type represents a list of key-value pairs. The
                            order of the pairs in the list is not significant.
                            In JSON, a set of key- value pairs is represented as
                            an object. It shall comply with the provisions 
                            defined in clause 4 of IETF RFC 7159. 
                          type: object
              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.
                type: object
                properties:
                  vnfInstanceName:
                    description: >
                      If present, this attribute signals modifications of the
                      "vnfInstanceName" attribute in "VnfInstance".
                    type: string
                  vnfInstanceDescription:
                    description: >
                      If present, this attribute signals modifications of the
                      "vnfInstanceDescription" attribute in "VnfInstance".
                    type: string
                  vnfConfigurableProperties:
                    description: >
                      This type represents a list of key-value pairs. The order
                      of the pairs in the list is not significant. In JSON, a
                      set of key- value pairs is represented as an object. It
                      shall comply with the provisions  defined in clause 4 of
                      IETF RFC 7159. 
                    type: object
                  metadata:
                    description: >
                      This type represents a list of key-value pairs. The order
                      of the pairs in the list is not significant. In JSON, a
                      set of key- value pairs is represented as an object. It
                      shall comply with the provisions  defined in clause 4 of
                      IETF RFC 7159. 
                    type: object
                  extensions:
                    description: >
                      This type represents a list of key-value pairs. The order
                      of the pairs in the list is not significant. In JSON, a
                      set of key- value pairs is represented as an object. It
                      shall comply with the provisions  defined in clause 4 of
                      IETF RFC 7159. 
                    type: object
                  vimConnectionInfo:
                    description: >
                      If present, this attribute signals modifications of
                      certain entries in the "vimConnectionInfo" attribute array
                      in "VnfInstance".
                    type: array
                    items:
                      description: >
                        This type represents parameters to connect to a VIM for
                        managing the resources of a VNF instance. This structure
                        is used to convey VIM-related parameters over the
                        Or-Vnfm interface. Additional parameters for a VIM may
                        be configured into the VNFM by means outside the scope
                        of the present document, and bound to the identifier of
                        that VIM.
                      type: object
                      required:
                        - id
                        - vimType
                      properties:
                        id:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        vimId:
                          description: >
                            An identifier with the intention of being globally
                            unique.
                          type: string
                        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. 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 types. The structure of the registry is
                            defined in Annex C of SOL003.
                          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 key- value pairs is represented as
                            an object. It shall comply with the provisions 
                            defined in clause 4 of IETF RFC 7159. 
                          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 key- value pairs is represented as
                            an object. It shall comply with the provisions 
                            defined in clause 4 of IETF RFC 7159. 
                          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 key- value pairs is represented as
                            an object. It shall comply with the provisions 
                            defined in clause 4 of IETF RFC 7159. 
                          type: object
                  vnfPkgId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfdId:
                    description: |
                      An identifier with the intention of being globally unique.
                    type: string
                  vnfProvider:
                    description: >
                      If present, this attribute signals modifications of the
                      "vnfProvider" attribute in "VnfInstance". If present, this
                      attribute (which depends on the value of the "vnfPkgId"
                      attribute) was modified implicitly following a request to
                      modify the "vnfPkgId" attribute, by copying the value of
                      this attribute from the VNFD in the VNF Package identified
                      by the "vnfPkgId” attribute.
                    type: string
                  vnfProductName:
                    description: >
                      If present, this attribute signals modifications of the
                      "vnfProductName" attribute in "VnfInstance". If present,
                      this attribute (which depends on the value of the
                      "vnfPkgId" attribute) was modified implicitly following a
                      request to modify the "vnfPkgId" attribute, by copying the
                      value of this attribute from the VNFD in the VNF Package
                      identified by the "vnfPkgId” attribute.
                    type: string
                  vnfSoftwareVersion:
                    description: |
                      A Version.
                    type: string
                  vnfdVersion:
                    description: |
                      A Version.
                    type: string
              changedExtConnectivity:
                description: >
                  Information about changed external connectivity, if
                  applicable. This allows the NFVO to obtain the information
                  contained in the latest "result" notification if it has not
                  received it due to an error or a wrongly configured
                  subscription filter.
                type: array
                items:
                  type: object
                  required:
                    - id
                    - resourceHandle
                  properties:
                    id:
                      description: >
                        An identifier with the intention of being globally
                        unique.
                      type: string
                    resourceHandle:
                      required:
                        - vimConnectionId
                        - 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.
                      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 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
                            resource provider.
                          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. 
                        type: object
                        required:
                          - id
                          - resourceHandle
                        properties:
                          id:
                            description: >
                              An identifier with the intention of being globally
                              unique.
                            type: string
                          resourceHandle:
                            required:
                              - vimConnectionId
                              - 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.
                            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 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 resource provider.
                                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
              _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.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          URI of the referenced resource.
                        type: string
                        format: url
                  vnfInstance:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          URI of the referenced resource.
                        type: string
                        format: url
                  grant:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          URI of the referenced resource.
                        type: string
                        format: url
                  cancel:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          URI of the referenced resource.
                        type: string
                        format: url
                  retry:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          URI of the referenced resource.
                        type: string
                        format: url
                  rollback:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          URI of the referenced resource.
                        type: string
                        format: url
                  fail:
                    description: |
                      This type represents a link to a resource.
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: |
                          URI of the referenced resource.
                        type: string
                        format: url
        '400':
          description: >
            Bad Request

            If the request is malformed or syntactically incorrect (e.g. if the
            request URI contains incorrect query parameters or a syntactically
            incorrect payload body), 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 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.

             ---

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