SOL003VNFLifecycleManagement_def.yaml 224 KB
Newer Older
    required:
      - id
      - notificationType
      - subscriptionId
      - 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: "../../General_Definitions/SOL003_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: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      timeStamp:
        description: >
          Date-time of the generation of the notification.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/DateTime"
      vnfInstanceId:
        description: >
          The deleted VNF instance identifier.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      _links:
        description: >
          Links to resources related to this notification.
        $ref: "#/definitions/LccnLinks"

  VnfcInfoModifications:
    description: >
      This type represents modifications of an entry in an array of "VnfcInfo" objects.
      * NOTE:	The attribute "id" in this data type represents the same identifier as the attribute
                "vnfcInstanceId" in other related data types in the present document. For reasons of backward
                compatibility, this misalignment is not corrected.
    type: object
    required:
      - id
      - vnfcConfigurableProperties
    properties:
      id:
        description: >
          Identifier of the VNFC instance of which the information is to be modified.
          The identifier references the "id" attribute in a "VnfcInfo" structure. See note.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfcConfigurableProperties:
        description: >
          Changes of the configurable properties of the VNFC instance.
          When this structure is part of a request, the modifications signalled in this attribute
          shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396).
          In addition, the provisions in clause 5.7 shall apply.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"

  VnfcInfo:
    description: >
      This type represents the information about a VNFC instance that is part of a VNF instance.
      * NOTE:	This allows to represent the error condition that a VNFC instance has lost its resources.
    type: object
    required:
      - id
      - vduId
      - vnfcState
    properties:
      id:
        description: >
          Identifier of the VNFC instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      vduId:
        description: >
          Reference to the applicable VDU information element in
          the VNFD.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfcResourceInfoId:
        description: >
          Identifier of the VnfcResourceInfo instance representing
          the virtualised resources used by this VNFC instance. See note.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfcState:
        description: >
          Identifier of the VnfcResourceInfo instance representing
          the virtualised resources used by this VNFC instance.
          State of the VNFC instance.
          Permitted values:
          • STARTED: The VNFC instance is up and
          running.
          • STOPPED: The VNFC instance has been shut down
        type: string
        enum:
          - STARTED
          - STOPPED
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfcConfigurableProperties:
        description: >
          Current values of the configurable properties of the
          VNFC instance.
          Configurable properties referred in this attribute are
          declared in the VNFD.
          This attribute can be modified with the PATCH method.
          In addition, the provisions in clause 5.7 shall apply.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"

  ModificationsTriggeredByVnfPkgChange:
    description: >
      This type represents attribute modifications that were performed on an "Individual VNF instance" resource 
      when changing the current VNF package. The attributes that can be included consist of those requested to 
      be modified explicitly in the "ChangeCurrentVnfPkgRequest" data structure, and additional attributes of the 
      "VnfInstance" data structure that were modified implicitly during the operation.

      NOTE 1:	This attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value 
              of the attribute at the start of the "Change current VNF package" operation and the value of the attribute 
              at its completion.
      NOTE 2:	If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly 
              during the related operation and contains a copy of the value of the related attribute from the VNFD in the 
              VNF Package identified by the "vnfdId" attribute.
    type: object
    properties:
      vnfConfigurableProperties:
        description: >
          This attribute signals the modifications of the "vnfConfigurableProperties" attribute in "VnfInstance" performed 
          by the operation and shall be present if that attribute was modified during the operation. See note 1.
          In addition, the provisions in clause 5.7 shall apply.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
      metadata:
        description: >
          This attribute signals the modifications of the "metadata" attribute in "VnfInstance" performed by the operation and 
          shall be present if that attribute was modified during the operation. See note 1.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
      extensions:
        description: >
          This attribute signals the modifications of the "extensions" attribute in "VnfInstance" performed by the operation and 
          shall be present if that attribute was modified during the operation. See note 1.
          In addition, the provisions in clause 5.7 shall apply.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
      vnfdId:
        description: >
          If present, this attribute signals the new value of the "vnfdId" attribute in "VnfInstance".
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      vnfProvider:
        description: >
          If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance". See note 2.
        type: string
      vnfProductName:
        description: >
          If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". See note 2.
        type: string
      vnfSoftwareVersion:
        description: >
          If present, this attribute signals the new value of the "vnfSoftwareVersion" attribute in "VnfInstance". See note 2.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Version"
      vnfdVersion:
        description: >
          If present, this attribute signals the new value of the "vnfdVersion" attribute in "VnfInstance". See note 2.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Version"
      vimConnectionInfo:
        description: >
          If present, this attribute signals the changes to VIM connection info that were passed in the related 
          "ChangeCurrentVnfPkgRequest" structure.
        type: object
        additionalProperties:
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/VimConnectionInfo"

  LcmOpOccNotificationVerbosityType:
    description: >
      The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation
      occurrence notifications.
      * FULL: This signals a full notification which contains all change details.
      * SHORT:  This signals a short notification which omits large-volume change details to reduce the size of data to
                be sent via the notification mechanism.
    type: string
    enum:
      - FULL
      - SHORT

  McioTypeName:
    description: >
      The present type definition provides valid string values for the "mcioType" attribute of the "McioInfo" data type , and
      the valid values are defined in table 5.5.4.9-1.
    type: string
    enum:
      - Deployment
ishaqm's avatar
ishaqm committed
      - StatefulSet

  AffectedVipCp:
    description: >
      This type provides information about added, deleted and modified virtual IP CP instances.
    type: object
    required:
      - cpInstanceId
      - cpdId
      - changeType
    properties:
        cpInstanceId:
          description: >
            Identifier of the virtual IP CP instance and the related "VipCpInfo" structure in "VnfInstance".
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"

        cpdId:
          description: >
            Identifier of the VipCpd in the VNFD.
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"

        vnfdId:
          description: >
            Reference to the VNFD.
            Shall be present in case of a "change current VNF Package" to
            identify whether the affected virtual CP instance is associated
            to a VipCpd which is referred from the source or destination VNFD.
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"

        changeType:
          description: >
            Signals the type of change.
            Permitted values:
            -	ADDED
            -	REMOVED
            -	MODIFIED
          type: string
          enum:
              - ADDED
              - REMOVED
              - MODIFIED

  VipCpInfo:
    description: >
      This type provides information related to virtual IP (VIP) CP.

      NOTE 1:	It is possible that there is no associated VnfcCp because the VIP CP is available but not
      associated yet.
      NOTE 2: If only the value or the presence of this attribute is changed in the "VipCpInfo" structure
      by an LCM operation occurrence, this does not represent a change that requires including a related
      "AffectedVipCp" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc"
      structure related to this LCM operation occurrence.
    type: object
    required:
      - cpInstanceId
      - cpdId
    properties:
      cpInstanceId:
        description: >
ishaqm's avatar
ishaqm committed
          Identifier of this VIP CP instance and of this VipCpInfo.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      cpdId:
        description: >
          Identifier of the VIP Connection Point Descriptor, VipCpd, in the VNFD.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
      vnfdId:
        description: >
          Identifier of the VNFD.
          Shall be present in case the value differs from the vnfdId attribute of the VnfInstance
          (e.g. during a "Change current VNF package" operation or due to its final failure). See note 2.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      vnfExtCpId:
        description: >
          When the VIP CP is exposed as external CP of the VNF, the identifier of this external VNF CP instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      cpProtocolInfo:
        description: >
          Protocol information for this CP. There shall be one cpProtocolInfo for layer 3.
          There may be one cpProtocolInfo for layer 2.
        type: array
        items:
          $ref: "#/definitions/CpProtocolInfo"
      associatedVnfcCpIds:
        description: >
          Identifiers of the VnfcCps that share the virtual IP address allocated to the VIP CP instance. See note.
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfLinkPortId:
        description: >
          Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" or
          "ExtManagedVirtualLinkInfo" structure. Shall be present if the CP is associated to a
          link port on an internal VL (including externally-managed internal VL).
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      metadata:
        description: >
          Metadata about this VIP CP.
        type: array
        items:
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"

  AffectedVirtualCp:
    description: >
      This type provides information about added, deleted and modified virtual CP instances.
    type: object
    required:
      - cpInstanceId
      - cpdId
      - changeType
    properties: 
      cpInstanceId: 
        description: > 
          Identifier of the virtual CP instance and the related "VirtualCpInfo" 
          structure in "VnfInstance".
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      cpdId:
        description: >
          Identifier of the VirtualCpd in the VNFD.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
      vnfdId:
        description: >
          Reference to the VNFD.
          Shall be present in case of a "change current VNF Package" to identify whether 
          the affected virtual CP instance is associated to a VirtualCpd which is referred 
          from the source or destination VNFD.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      changeType:
        description: >
          Signals the type of change.

          Permitted values:
            - ADDED
            - REMOVED
            - MODIFIED
        type: string
        enum:
          - ADDED
          - REMOVED
          - MODIFIED

  McioInfo:
    description: >
      This type provides information about an MCIO representing the set of VNFC instances realized by one 
      or a set of OS containers which have been created based on the same VDU.
      Within the CISM, an MCIO controller monitors the actual state of an MCIO representing the set of VNFC 
      instances realized by one or a set of OS containers and compare it to the desired state  For an MCIO related to a VDU that has the 
      attribute isNumOfInstancesClusterBased set to FALSE the desired state is specified in the respective declarative 
      descriptor. For an MCIO related to a VDU that has the attribute isNumOfInstancesClusterBased set to TRUE, the 
      desired state is determined by the number of CIS-nodes in the cluster that fulfil the VDU requirements.as specified in 
      the respective declarative descriptor. It triggers actions toward the CIS to align the actual to 
      the desired state. Monitoring the actual state includes monitoring the number of MCIO instances available 
      at any specific point in time. In addition, an MCIO controller maintains properties and runtime information 
      on the MCIO instances which have been created based on the same VDU.
      The McioInfo data structure provides the runtime information on the MCIOs obtained from the MCIO controller.
      
      NOTE: There are different types of MCIOs. The set of VNFC instances based on the same VDU is represented 
            by one MCIO, e.g. of type Deployment. Each individual VNFC instance is represented by another type 
            of MCIO, e.g. a POD.

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

      NOTE 1: The type of MCIO as specified in the declarative descriptor of the MCIO, and that can be read from 
              the CISM. EXAMPLE: In case of MCIOs managed by Kubernetes®, the type of MCIO corresponds to the 
              “kind” property of the declarative descriptor.
      NOTE 2: If the attribute additionalInfo is present, it may contain runtime information on the actual and 
              desired state of the MCIO(s).   
      NOTE 3: When the container infrastructure service is a Kubernetes® instance, the mcioId is the combined 
              values from the kind and name fields of the Kubernetes resource object, separated by a slash. 
              Example: "Deployment/abcd". 
      NOTE 4: When the container infrastructure service is a Kubernetes® instance, the mcioName is the name 
              field of the resource object.          
    type: object
    required: 
      - mcioId
      - mcioName
      - mcioNamespace
      - vduId
      - cismId
      - mcioType
      - desiredInstances
      - availableInstances
    properties:
      mcioId: 
        description: >
          Identifier of this MCIO, created by the CISM. See note 3.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      mcioName:
        description: >
          Human readable name of this MCIO. See note 4.
        type: string
      mcioNamespace:
        description: >
          Namespace of this MCIO.
        type: string
      vduId:
        description: >
          Reference to the related VDU in the VNFD applicable to this resource.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
      cismId:
        description: >
          Identifier of the CISM managing this MCIO.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      mcioType: 
        description: >
          The type of MCIO. Specific values, their semantics and associated MCIO types are defined in clause 
          5.5.4.9. Additional values are also permitted.
          See note 1.
        type: string
        enum:
          - Deployment
          - Statefulset
          - DaemonSet
      desiredInstances: 
        description: >
          Number of desired MCIO instances.
        type: integer
      availableInstances:
        description: >
          Number of available MCIO instances.
        type: integer
      additionalInfo:
        decription: >
          Additional information which is specific to the MCIO, its type, and which is available 
          from the CISM.
          See note 2. 
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs"
      certificateContentId:
        description: >
          Identifier of the "CertificateContent" structure that provides the information of the certificate that this 
          MCIO instance uses. Shall be present when using in delegation mode. Otherwise shall not be present.
          This attribute shall be supported when delegation mode in certificate management is applicable.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      This type provides information related to a virtual CP instance of a VNF.
      NOTE 1: A consumer of the VNF LCM interface can learn the actual VNFC instances implementing the service 
              accessible via the virtual CP instance by querying the "vnfcResourceInfo" from the "InstantiatedVnfInfo" 
              and filtering by corresponding "vduIds" values.
      NOTE 2: The information can be omitted because it is already available as part of the external CP information in the 
              VnfExtCpInfo structure.
    type: object
    required:
      - cpInstanceId
      - cpdId
      - resourceHandle
      - vduIds
    properties:
      cpInstanceId:
        description: >
          Identifier of this virtual CP instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      cpdId:
        description: >
          Identifier of the VirtualCpd in the VNFD.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
      resourceHandle:
        description: >
          Reference to the virtualised resource realizing this virtual CP.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle"
      vnfExtCpId:
        description: >
          When the virtual CP is exposed as external CP of the VNF, the identifier of this external VNF CP instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      cpProtocolInfo: 
        description: >
          Protocol information for this CP. There shall be one cpProtocolInfo for each layer protocol supported.
          This attribute may be omitted if the virtual CP is exposed as an external CP. See note 2.
        type: array
        items:
          $ref: "#/definitions/CpProtocolInfo"
      vduIds:
        description: >
          Reference to the VDU(s) which implement the service accessible via the virtual CP instance. See note 1.
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnfd"
      additionalServiceInfo:
        description: >
          Additional service identification information of the virtual CP instance.
        type: array
        items:
          $ref: "#/definitions/AdditionalServiceInfo"
      metadata:
        description: >
          Metadata about this virtual CP instance.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/KeyValuePairs" 

  AdditionalServiceInfo:
    description: >
      This type provides additional service information of the virtual CP instance used to expose properties of the 
      virtual CP to NFV-MANO.

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

          Permitted values:
          - TCP
          - UDP
          - SCTP
        type: string
        enum:
          - TCP
          - UDP
          - SCTP
      port:
        description: >
          The L4 port number exposed by the virtual CP instance.
        type: integer 
      portConfigurable: 
        description:
          Specifies whether the port attribute value is allowed to be configurable.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Boolean"

  NetAttDefResourceInfo:
    description: >
      This type contains information related to a network attachment definition resource that provides the 
      specification of the interface used to connect one or multiple connection points to a secondary container 
      cluster network.
    type: object
    required:
      - netAttDefResourceInfoId
      - netAttDefResource
    properties: 
      netAttDefResourceInfoId:
        description: >
          Identifier of this network attachment definition resource as provided by the entity that has 
          created it.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/Identifier"
      netAttDefResource:
        description: >
          Resource handle of the resource in the scope of the CISM.
        $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/ResourceHandle" 
      associatedExtCpId:
        description: >
          Identifier of the external CP associated to this network attachment definition resource. Shall be present 
          when the network attachment definition resource is used for external connectivity by the VNF.
        type: array
        items:
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
      associatedVnfcCpId:
        description: >
          Identifier of the VNFC CP associated to this network attachment definition resource. May be present when 
          the network attachment definition resource is used for internal connectivity by the VNF.
        type: array
        items:
          $ref: "../../General_Definitions/SOL003_def.yaml#/definitions/IdentifierInVnf"
  
  VirtualCpAddressInfo:
    description: >
      This type represents information about a network address that has been assigned to a virtual CP.
    type: object
    required:
      - type
    properties:
      type:
        description: >
          The type of the IP addresses. Permitted values:
          - IPV4
          - IPV6
        type: string
        enum:
          - IPV4
          - IPV6
      loadBalancerIp:
        description: >
          Fixed addresses assigned to an external load balancer.
ishaqm's avatar
ishaqm committed
        $ref: '../../General_Definitions/SOL003_def.yaml#/definitions/IpAddress'
      addressPoolName:
        description: >
          Name of an address pool from which an IP address is
          assigned to the virtual CP.
        type: string