Skip to content
Snippets Groups Projects
SOL002SOL003VNFLifecycleManagement_def.yaml 49 KiB
Newer Older
  • Learn to ignore specific revisions
  • # Copyright (c) ETSI 2017.
    # https://forge.etsi.org/etsi-forge-copyright-notice.txt
    
    definitions:
      AffectedVirtualLink:
        description: >
          This type provides information about added, deleted, modified and
          temporary VLs.
        type: object
        required:
          - id
          - virtualLinkDescId
          - changeType
          - networkResource
        properties:
          id: 
            description: >
              Identifier of the virtual link instance, identifying the applicable
              "vnfVirtualLinkResourceInfo" entry in the "VnfInstance" data type.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
          virtualLinkDescId:
            description: >
              Identifier of the related VLD in the VNFD.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
          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:
            description: >
              Reference to the VirtualNetwork resource. Detailed information is
              (for new and modified resources) or has been (for removed
              resources) available from the VIM.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
    
          metadata:
            description: >
              Metadata about this resource.
              The content of this attribute shall be a copy of the content of the
              "metadata" attribute of the VnfVirtualLinkResourceInfo structure.
            $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
    
    
      AffectedVirtualStorage:
        description: >
          This type provides information about added, deleted, modified and
          temporary virtual storage resources.
        type: object
        required:
          - id
          - virtualStorageDescId
          - changeType
          - storageResource
        properties:
          id:
            description: >
              Identifier of the storage instance, identifying the applicable
              "virtualStorageResourceInfo" entry in the "VnfInstance" data type.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
          virtualStorageDescId:
            description: >
              Identifier of the related VirtualStorage descriptor in the VNFD.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
          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:
            description: >
              Reference to the VirtualStorage resource. Detailed information is 
              (for new and modified resources) or has been (for removed
              resources) available from the VIM.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
    
          metadata:
            description: >
              Metadata about this resource.
              The content of this attribute shall be a copy of the content of the
              "metadata" attribute of the VirtualStorageResourceInfo structure.
            $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
    
          This type describes the protocol layer(s) that a CP uses together with
          protocol-related information, like addresses. 
        required: 
          - layerProtocol
        properties: 
          layerProtocol:
            description: >
              The identifier of layer(s) and protocol(s) associated to the network
              address information. 
              Permitted values: IP_OVER_ETHERNET
              This attribute allows to signal the addition of further types of
              layer and protocol in future versions of the present document in a
              backwards-compatible way. In the current version of the present
              document, only IP over Ethernet is supported.
    
            enum: 
              - IP_OVER_ETHERNET
          ipOverEthernet:
    
              IP addresses over Ethernet to assign to the extCP instance. Shall be
              present if layerProtocol is equal to " IP_OVER_ETHERNET", and shall
              be absent otherwise.
            $ref: "#/definitions/IpOverEthernetAddressInfo"
    
    
      CreateVnfRequest:
        type: object
        required:
          - vnfdId
        properties:
          vnfdId:
            description: >
              Identifier that identifies the VNFD which defines the VNF instance to
              be created.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          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
    
    
      ExtManagedVirtualLinkInfo:
    
        type: object
        required:
    
          - id
          - vnfVirtualLinkDescId
    
              Identifier of the externally-managed internal VL and the related
              externally-managed VL information instance.
              The identifier is assigned by the NFV-MANO entity that manages this
              VL instance.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          vnfVirtualLinkDescId:
    
              Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
          networkResource:
            description: >
              Reference to the VirtualNetwork resource.
            $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
          vnfLinkPorts:
            description: >
              Link ports of this VL.
    
              $ref: "#/definitions/VnfLinkPortInfo"
    
      ExtLinkPortInfo:
    
          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: >
              Identifier of this link port as provided by the entity that has
              created the link port.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          resourceHandle:
            description: >
    
              Reference to the virtualised resource realizing this link
    
            $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
    
          cpInstanceId:
            description: >
    
              Identifier of the external CP of the VNF connected to this link
    
              port. There shall be at most one link port associated with any
              external connection point instance. The value refers to an
              "extCpInfo" item in the VnfInstance.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
    
      ExtVirtualLinkInfo:
        type: object
        required:
          - id
          - resourceHandle
        properties:
          id:
            description: >
    
              Identifier of the external VL and the related external VL
              information instance.
              The identifier is assigned by the NFV-MANO entity that manages this
              VL instance.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          resourceHandle:
            description: >
              Reference to the resource realizing this VL.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
    
            description: >
              Link ports of this VL.
    
            type: array
            items:
              $ref: "#/definitions/ExtLinkPortInfo"
    
      IpOverEthernetAddressInfo:
    
          This type represents information about a network address that has been
          assigned. 
    
        required: 
          - macAddress
    
              Assigned MAC address.
            $ref: "SOL002SOL003_def.yaml#/definitions/MacAddress"
          ipAddresses:
    
              Addresses assigned to the CP instance. Each entry represents IP
              addresses assigned by fixed or dynamic IP address assignment per
              subnet.
            type: array
            items: 
              type: object
              required: 
                - type
              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).
                  type: array
                  items: 
                    $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress"
                isDynamic:
                  description: >
                    Indicates whether this set of addresses was assigned
                    dynamically (true) or based on address information provided as
                    input from the API consumer (false). Shall be present if
                    "addresses" is present and shall be absent otherwise.
                  type: boolean
                addressRange:
                  description: >
                    An IP address range used, e.g., in case of egress connections.
                    Exactly one of "addresses" or "addressRange" shall be present.
                  type: object
                  required: 
                    - minAddress
                    - maxAddress
                  properties:
                    minAddress:
                      description: >
                        Lowest IP address belonging to the range.
                      $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress"
                    maxAddress:
                      description: >
                        Highest IP address belonging to the range
                      $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress"
                subnetId:
                  description: >
                    Subnet defined by the identifier of the subnet resource in
                    the VIM.
                    In case this attribute is present, IP addresses are bound
                    to that subnet.
                  $ref: "SOL002SOL003_def.yaml#/definitions/IpAddress"
    
    
      LccnLinks:
        description: >
          This type represents the links to resources that a notification can
          contain.
        type: object
        required: 
          - vnfInstance
          - subscription
        properties: 
          vnfInstance:
            description: >
              Link to the resource representing the VNF instance to which the
              notified change applies.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
    
          subscription:
            description: >
              Link to the related subscription.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
    
          vnfLcmOpOcc:
            description: >
              Link to the VNF lifecycle management operation occurrence that this
              notification is related to. Shall be present if there is a related
              lifecycle operation occurrence.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/Link"
    
    
      LccnSubscription:
        description: >
          This type represents a subscription related to notifications about VNF
          lifecycle changes.
        type: object
        required:
          - id
          - callbackUri
          - _links
        properties:
          id:
            description: >
              Identifier of this subscription resource.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          filter:
            description: >
              Filter settings for this subscription, to define the subset of all
              notifications this subscription relates to. A particular
              notification is sent to the subscriber if the filter matches, or if
              there is no filter.
            $ref: "#/definitions/LifecycleChangeNotificationsFilter"
          callbackUri:
            description: >
              The URI of the endpoint to send the notification to.
            $ref: "SOL002SOL003_def.yaml#/definitions/Uri"
          _links:
            description: >
              Links to resources related to this resource.
            type: object
            required:
              - self
            properties:
              self:
                description: >
                  URI of this resource.
    
                $ref: "SOL002SOL003_def.yaml#/definitions/Link"
    
    
      LccnSubscriptionRequest:
        description: >
          This type represents a subscription request related to notifications
          about VNF lifecycle changes.
        type: object
        required:
          - callbackUri
        properties:
          filter: 
            description: >
              Filter settings for this subscription, to define the subset of all
              notifications this subscription relates to. A particular
              notification is sent to the subscriber if the filter matches, or if
              there is no filter.
            $ref: "#/definitions/LifecycleChangeNotificationsFilter"
          callbackUri:
            description: >
              The URI of the endpoint to send the notification to.
            $ref: "SOL002SOL003_def.yaml#/definitions/Uri"
          authentication:
            description: >
              Authentication parameters to configure the use of Authorization when
              sending notifications corresponding to this subscription, as defined
              in clause 4.5.3.4.
              This attribute shall only be present if the subscriber requires
              authorization of notifications.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication"
    
    
      LcmOperationStateType:
        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
    
      LifecycleChangeNotificationsFilter:
        description: >
          This type represents a subscription filter related to notifications
          about VNF lifecycle changes.
          At a particular nesting level in the filter structure, the following
          applies: All attributes shall match in order for the filter to match
          (logical "and" between different filter attributes). If an attribute is
          an array, the attribute shall match if at least one of the values in
          the array matches (logical "or" between the values of one filter
          attribute).
        type: object
        properties:
          vnfInstanceSubscriptionFilter:
            description: >
              Filter criteria to select VNF instances about which to notify.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/VnfInstanceSubscriptionFilter"
    
          notificationTypes:
            description: >
              Match particular notification types.
              Permitted values:
              * VnfLcmOperationOccurrenceNotification
              * VnfIdentifierCreationNotification
              * VnfIdentifierDeletionNotification
              The permitted values of the "notificationTypes" attribute are
              spelled exactly as the names of the notification types to
              facilitate automated code generation systems.
    
            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: 
    
              $ref: "SOL002SOL003_def.yaml#/definitions/LcmOperationType"
    
          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: 
              $ref: "#/definitions/LcmOperationStateType"
    
    
      MonitoringParameter:
        type: object
        required:
          - id
          - value
          - timeStamp
        properties:
          id:
            description: >
              Identifier of the monitoring parameter defined in the VNFD.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
          name:
            description: >
              Human readable name of the monitoring parameter, as defined in the
              VNFD.
            type: string
          value:
            description: >
              Value of the monitoring parameter known to the VNFM (e.g. obtained
              for autoscaling purposes).
              The type of the "value" attribute (i.e. scalar, structure (Object in
              JSON), or array (of scalars, arrays or structures/Objects)) is
              assumed to be defined in an external measurement specification.
            type: object
          timeStamp:
            description: >
              Represents the point in time when the measurement has been performed,
              as known to the VNFM.
              Should be formatted according to ETF RFC 3339.
            type: string
    
    
      ScaleInfo:
        required:
          - aspectId
          - scaleLevel
        type: object
        properties:
          aspectId:
            description: >
              Identifier of the scaling aspect.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
          scaleLevel:
            description: >
              Indicates the scale level. The minimum value shall be 0 and the
              maximum value shall be <= maxScaleLevel as described in the VNFD.
            type: integer
    
      ScaleVnfRequest:
        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: >
              Identifier of the scaling aspect.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
          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: >
              Additional parameters passed by the NFVO as input to the scaling
              process, specific to the VNF being scaled, as declared in the VNFD
              as part of "ScaleVnfOpConfig".
            $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
    
      ScaleVnfToLevelRequest:
        description: >
          This type represents request parameters for the "Scale VNF to Level"
          operation.
        type: object
        properties:
          instantiationLevelId:
            description: > 
              Identifier of the target instantiation level of the current
              deployment flavour to which the VNF is requested to be scaled.
              Either the instantiationLevelId attribute or the scaleInfo attribute
              shall be included.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
          scaleInfo:
            description: >
              For each scaling aspect of the current deployment flavour, indicates
              the target scale level to which the VNF is to be scaled.
              Either the instantiationLevelId attribute or the scaleInfo attribute
              shall be included.
            type: array
            items:
              $ref: "#/definitions/ScaleInfo"
          additionalParams:
            description: >
              Additional parameters passed by the NFVO as input to the scaling
              process, specific to the VNF being scaled, as declared in the
              VNFD as part of "ScaleVnfToLevelOpConfig".
            $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
    
      StopType:
        description: >
          * FORCEFUL: The VNFM will stop the VNF immediately after accepting the
            request.
          * GRACEFUL: The VNFM will first arrange to take the VNF out of service
            after accepting the request. Once that operation is successful or once
            the timer value specified in the "gracefulStopTimeout" attribute
            expires, the VNFM will stop the VNF.
        type: string
        enum:
          - FORCEFUL
          - GRACEFUL
    
      Version:
        description: >
          A Version.
        type: string
    
    
      VirtualStorageResourceInfo:
        description: >
          This type represents the information that allows addressing a virtualised
          resource that is used by a VNF instance.
    
        type: object
        required:
          - id
    
          - virtualStorageDescId
          - storageResource
    
        properties:
          id:
            description: >
    
              Identifier of this VirtualStorageResourceInfo instance.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
          virtualStorageDescId:
    
              Identifier of the VirtualStorageDesc in the VNFD.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
          storageResource:
            description: >
              Reference to the VirtualStorage resource.
            $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
          reservationId:
            description: >
              The reservation identifier applicable to the resource. It shall be
              present when an applicable reservation exists.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
    
              Metadata about this resource.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
    
          This type represents the information on virtualised compute and storage
          resources used by a VNFC in a VNF instance.
    
        required:
          - id
          - vduId
          - computeResource
        properties:
          id:
    
              Identifier of this VnfcResourceInfo instance.
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
          vduId:
            description: >
              Reference to the applicable VDU in the VNFD.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
    
          computeResource:
    
              Reference to the VirtualCompute resource.
            $ref: "SOL002SOL003_def.yaml#/definitions/ResourceHandle"
          storageResourceIds:
            description: >
              References to the VirtualStorage resources. The value refers to a
              VirtualStorageResourceInfo item in the VnfInstance.
    
              $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
          reservationId:
    
              The reservation identifier applicable to the resource. It shall be
              present when an applicable reservation exists.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          vnfcCpInfo:
            description: >
              CPs of the VNFC instance.
              Shall be present when that particular CP of the VNFC instance is
              associated to an external CP of the VNF instance.
              May be present otherwise.
    
              type: object
              required:
                - id
                - cpdId
              properties:
                id:
                  description: >
                    Identifier of this VNFC CP instance and the associated array
                    entry.
                  $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
                cpdId:
                  description: >
                    Identifier of the VDU CPD, cpdId, in the VNFD.
                  $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
                vnfExtCpId:
                  description: >
                    When the VNFC CP is exposed as external CP of the VNF, the
                    identifier of this external VNF CP.
                  $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
                cpProtocolInfo:
                  description: >
                    Network protocol information for this CP.
                  type: array
                  items:
                    $ref: "#/definitions/CpProtocolInfo"
                vnfLinkPortId:
                  description: >
                    Identifier of the "vnfLinkPorts" structure in the
                    "vnfVirtualLinkResourceInfo" structure. Shall be present if
                    the CP is associated to a link port.
                  $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
          metadata:
            description: >
              Metadata about this resource.
            $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
    
    
      VnfIdentifierCreationNotification:
        description: >
          This type represents a VNF identifier creation notification, which
          informs the receiver of the creation of a new VNF instance resource and
          the associated VNF instance identifier.
    
          This notification shall be triggered by the VNFM when it has created a
          VNF instance resource and the associated VNF instance identifier.
    
        type: object
        required: 
          - id
          - notificationType
    
          - timeStamp
          - vnfInstanceId
          - _links
        properties:
          id:
            description: >
              Identifier of the VNF instance.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          notificationType:
            description: >
              Discriminator for the different notification types. Shall be set to
              "VnfIdentifierCreationNotification" for this notification type.
            type: string
            enum:
              - VnfIdentifierCreationNotification
          subscriptionId:
            description: >
              Identifier of the subscription that this notification relates to.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          timeStamp:
            description: >
              Date-time of the generation of the notification.
            $ref: "SOL002SOL003_def.yaml#/definitions/DateTime"
          vnfInstanceId:
            description: >
              The created VNF instance identifier.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          _links:
            description: >
              Links to resources related to this notification.
            $ref: "#/definitions/LccnLinks"
    
      VnfIdentifierDeletionNotification:
        description: >
          This type represents a VNF identifier deletion notification, which
          informs the receiver of the deletion of a new VNF instance resource and
          the associated VNF instance identifier.
    
          This notification shall be triggered by the VNFM when it has deleted a
          VNF instance resource and the associated VNF instance identifier.
    
        type: object
        required: 
          - id
          - notificationType
    
          - timeStamp
          - vnfInstanceId
          - _links
        properties:
          id:
            description: >
              Identifier of this notification. If a notification is sent multiple
              times due to multiple subscriptions, the "id" attribute of all these
              notifications shall have the same value.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          notificationType:
            description: >
              Discriminator for the different notification types. Shall be set to
              "VnfIdentifierDeletionNotification" for this notification type.
            type: string
            enum:
              - VnfIdentifierDeletionNotification
          subscriptionId:
            description: >
              Identifier of the subscription that this notification relates to.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          timeStamp:
            description: >
              Date-time of the generation of the notification.
            $ref: "SOL002SOL003_def.yaml#/definitions/DateTime"
          vnfInstanceId:
            description: >
              The deleted VNF instance identifier.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          _links:
            description: >
              Links to resources related to this notification.
            $ref: "#/definitions/LccnLinks"
    
      VnfInfoModifications:
        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: >
    
              If present, this attribute signals modifications of the
              "vnfConfigurableProperties" attribute in "VnfInstance".
    
            $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
          metadata:
            description: >
    
              If present, this attribute signals modifications of the "metadata"
              attribute in "VnfInstance".
    
            $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
          extensions:
            description: >
    
              If present, this attribute signals modifications of the "extensions"
              attribute in "VnfInstance".
    
            $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
          vimConnectionInfo:
            description: >
    
              If present, this attribute signals modifications of certain entries
              in the "vimConnectionInfo" attribute array in "VnfInstance".
    
              $ref: "SOL002SOL003_def.yaml#/definitions/VimConnectionInfo"
          vnfPkgId:
            description: >
              If present, this attribute signals modifications of the "vnfPkgId"
              attribute in "VnfInstance".
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          vnfdId:
            description: >
              If present, this attribute signals modifications of the "vnfdId"
              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.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          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: >
              If present, this attribute signals modifications of the
              "vnfSoftwareVersion" attribute in "VnfInstance". 
            $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version"
          vnfdVersion:
            description: >
              If present, this attribute signals modifications of the
              "vnfdVersion" 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.
            $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version"
    
          This type represents a VNF instance.
    
        type: object
        required:
          - id
    
          - vnfdId
          - vnfProvider
          - vnfProductName
          - vnfSoftwareVersion
          - vnfdVersion
          - vnfPkgId
          - instantiationState
    
        properties:
          id:
            description: >
    
              Identifier of the VNF instance.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
    
          vnfInstanceName:
    
              Name of the VNF instance.
              This attribute can be modified with the PATCH method.
    
          vnfInstanceDescription:
    
              Human-readable description of the VNF instance.
              This attribute can be modified with the PATCH method.
            type: string
          vnfdId:
            description: >
              Identifier of the VNFD on which the VNF instance is based.
    
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
    
              Provider of the VNF and the VNFD. The value is copied from the VNFD.
            type: string
          vnfProductName:
    
              Name to identify the VNF Product. The value is copied from the VNFD.
    
          vnfSoftwareVersion:
            description: >
              Software version of the VNF. The value is copied from the VNFD.
            $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version"
          vnfdVersion:
            description: >
              Identifies the version of the VNFD. The value is copied from the VNFD.
            $ref: "SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/Version"
          vnfPkgId:
            description: >
              Identifier of information held by the NFVO about the specific VNF
              package on which the VNF is based. This identifier was allocated by
              the NFVO. This attribute can be modified with the PATCH method.
              Modifying the value of this attribute shall not be performed when
              conflicts exist between the previous and the newly referred VNF
              package, i.e. when the new VNFD is not changed with respect to the
              previous VNFD apart from referencing to other VNF software images.
              In order to avoid misalignment of the VnfInstance with the current
              VNF's on-boarded VNF Package, the values of attributes in the
              VnfInstance that have corresponding attributes in the VNFD shall be
              kept in sync with the values in the VNFD.
            $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
          vnfConfigurableProperties:
    
              Current values of the configurable properties of the VNF instance. 
              Configurable properties referred in this attribute are declared in
              the VNFD.
              ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD
              based on TOSCA specifications.
              VNF configurable properties are sometimes also referred to as
              configuration parameters applicable to a VNF. Some of these are set
              prior to instantiation and cannot be modified if the VNF is
              instantiated, some are set prior to instantiation (are part of
              initial configuration) and can be modified later, and others can be
              set only after instantiation. The applicability of certain
              configuration may depend on the VNF and the required operation of
              the VNF at a certain point in time.
              These configurable properties include the following standard
              attributes, which are declared in the VNFD if auto-scaling and/or
              auto-healing are supported by the VNF: 
              * isAutoscaleEnabled: If present, the VNF supports auto-scaling. If
                set to true, auto-scaling is currently enabled. If set to false,
                auto-scaling is currently disabled. 
              * isAutohealEnabled: If present, the VNF supports auto-healing. If
                set to true, auto-healing is currently enabled. If set to false,
                auto-healing is currently disabled. 
              This attribute can be modified with the PATCH method.
            $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
          vimConnectionInfo:
    
              Information about VIM connections to be used for managing the
              resources for the VNF instance. This attribute shall only be
              supported and present if VNF-related resource management in direct
              mode is applicable.
              This attribute can be modified with the PATCH method.
    
              $ref: "SOL002SOL003_def.yaml#/definitions/VimConnectionInfo"
          instantiationState:
    
              The instantiation state of the VNF.
            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