SOL005NSLifecycleManagement_def.yaml 162 KB
Newer Older
          - IP_OVER_ETHERNET
      ipOverEthernet:
        description: >
          Network address data for IP 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/IpOverEthernetAddressData"

  IpOverEthernetAddressData:
    description: >
      This type represents network address data for IP over Ethernet.
    type: object
    properties:
      macAddress:
        description: >
          MAC address. If this attribute is not present, it shall be chosen by the NFV MANO.
        $ref: "#/definitions/MacAddress"
      ipAddresses:
        description: >
          List of IP addresses to assign to the CP instance. Each entry
          represents IP address data for fixed or dynamic IP address
          assignment per subnet.
          If this attribute is not present, no IP address shall be assigned.
        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
            fixedAddresses:
              description: >
                Fixed addresses to assign (from the subnet defined by
                "subnetId" if provided).
                Exactly one of "fixedAddresses", "numDynamicAddresses" or
                "ipAddressRange" shall be present.
              type: array
              items:
                $ref: "#/definitions/IpAddress"
            numDynamicAddresses:
              description: >
                Number of dynamic addresses to assign (from the subnet defined
                by "subnetId" if provided).
                Exactly one of "fixedAddresses", "numDynamicAddresses" or
                "ipAddressRange" shall be present.
              type: integer
            addressRange:
              description: >
                An IP address range to be used, e.g. in case of egress
                connections.
                In case this attribute is present, IP addresses from the range
                will be used.
              type: object
              required:
                - minAddress
                - maxAddress
              properties:
                minAddress:
                  description: >
                    Lowest IP address belonging to the range.
                  $ref: "#/definitions/IpAddress"
                maxAddress:
                  description: >
                    Highest IP address belonging to the range.
                  $ref: "#/definitions/IpAddress"
            subnetId:
              description: >
                Subnet defined by the identifier of the subnet resource in the
                VIM.
                In case this attribute is present, IP addresses from that
                subnet will be assigned; otherwise, IP addresses not bound to
                a subnet will be assigned.
              $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim"

  ExtVirtualLinkData:
    description: >
      This type represents an external VL. It shall comply with the provisions defined in Table 6.5.3.26-1.
    type: object
    required:
      - resourceId
      - extCps
    properties:
      extVirtualLinkId:
        description: >
          The identifier of the external VL instance, if provided.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vimId:
        description: >
          Identifier of the VIM that manages this resource. This
          attribute shall only be supported and present if VNFrelated
          resource management in direct mode is applicable.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      resourceProviderId:
        description: >
          Identifies the entity responsible for the management of
          this resource.
          This attribute shall only be supported and present if
          VNF-related resource management in indirect mode is
          applicable. The identification scheme is outside the
          scope of the present document.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      resourceId:
        description: >
          The identifier of the resource in the scope of the VIM or
          the resource provider.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim"
      extCps:
        description: >
          External CPs of the VNF to be connected to this external VL.
        type: array
        items:
          $ref: "#/definitions/VnfExtCpData"
      extLinkPorts:
        description: >
          Externally provided link ports to be used to connect
          external connection points to this external VL.
        type: array
        items:
          $ref: "#/definitions/ExtLinkPortData"

  ExtManagedVirtualLinkData:
    description: >
      This type represents an externally-managed internal VL.
      It shall comply with the provisions defined in Table 6.5.3.27-1.
    type: object
    required:
      - vnfVirtualLinkDescId
      - resourceId
    properties:
      extManagedVirtualLinkId:
        description: >
          The identifier of the externally-managed internal VL
          instance, if provided.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      vnfVirtualLinkDescId:
        description: >
          The identifier of the VLD in the VNFD for this VL.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd"
      vimId:
        description: >
          Identifier of the VIM that manage this resource. This
          attribute shall only be supported and present if VNFrelated
          resource management in direct mode is applicable.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      resourceProviderId:
        description: >
          Identifies the entity responsible for the management of
          this resource. This attribute shall only be supported and present if
          VNF-related resource management in indirect mode is
          applicable. The identification scheme is outside the
          scope of the present document.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      resourceId:
        description: >
          The identifier of the resource in the scope of the VIM or
          the resource provider.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVim"

  VnfExtCpData:
    description: >
      This type represents configuration information for external CPs created
      from a CPD.
    type: object
    required:
      - cpdId
    properties:
      cpdId:
        description: >
          The identifier of the CPD in the VNFD.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/IdentifierInVnfd"
      cpConfig:
        description: >
          List of instance data that need to be configured on the CP instances
          created from the respective CPD.
        type: array
        items:
          $ref: "#/definitions/VnfExtCpConfig"

  ExtLinkPortData:
    description: >
      This type represents an externally provided link port to be used to
      connect an external connection point to an external 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: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      resourceHandle:
        description: >
          Reference to the virtualised resource realizing this link port.
        $ref: "../../definitions/SOL005_def.yaml#/definitions/ResourceHandle"

  VnfExtCpConfig:
    description: >
      This type represents an externally provided link port or network address
      information per instance of an external connection point. In case a link
      port is provided, the VNFM shall use that link port when connecting the
      external CP to the external VL. In a link port is not provided, the VNFM
      shall create a link port on the external VL, and use that link port to
      connect the external CP to the external VL.
    type: object
    properties:
      cpInstanceId:
        description: >
          Identifier of the external CP instance to which this set of
          configuration parameters is requested to be applied.
          Shall be present if this instance has already been created.
        $ref: "#/definitions/IdentifierInVnf"
      linkPortId:
        description: >
          Identifier of a pre-configured link port to which the external CP
          will be associated.
          The following conditions apply to the attributes "linkPortId" and
          "cpProtocolData":
          * The "linkPortId" and "cpProtocolData" attributes shall both be
            absent for the deletion of an existing external CP instance
            addressed by cpInstanceId.
          * At least one of these attributes shall be present for a
            to-be-created external CP instance or an existing external
            CP instance.
          * If the "linkPortId" attribute is absent, the VNFM shall create a
            link port.
          * If the "cpProtocolData" attribute is absent, the "linkPortId"
            attribute shall be provided referencing a pre-created link port,
            and the VNFM can use means outside the scope of the present
            document to obtain the pre-configured address information for the
            connection point from the resource representing the link port.
          * If both "cpProtocolData" and "linkportId" are provided, the API
            consumer shall ensure that the cpProtocolData can be used with the
            pre-created link port referenced by "linkPortId".
        $ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
      cpProtocolData:
        description: >
          Parameters for configuring the network protocols on the link port
          that connects the CP to a VL.
          The following conditions apply to the attributes "linkPortId" and
          "cpProtocolData":
          * The "linkPortId" and "cpProtocolData" attributes shall both be
            absent for the deletion of an existing external CP instance
            addressed by cpInstanceId.
          * At least one of these attributes shall be present for a
            to-be-created external CP instance or an existing external
            CP instance.
          * If the "linkPortId" attribute is absent, the VNFM shall create a
            link port.
          * If the "cpProtocolData" attribute is absent, the "linkPortId"
            attribute shall be provided referencing a pre-created link port,
            and the VNFM can use means outside the scope of the present
            document to obtain the pre-configured address information for the
            connection point from the resource representing the link port.
          * If both "cpProtocolData" and "linkportId" are provided, the API
            consumer shall ensure that the cpProtocolData can be used with the
            pre-created link port referenced by "linkPortId".
        type: array
        items:
          $ref: "#/definitions/CpProtocolData"

  IdentifierInNs:
    description: >
      An identifier that is unique with respect to a NS. Representation: string of variable length.
    type: string

  IdentifierInNsd:
    description: >
      An identifier that is unique within a NS descriptor. Representation: string of variable length.
    type: string

  IdentifierInPnf:
    description: >
      An Identifier that is unique within respect to a PNF. Representation: string of variable length.
    type: string

  IdentifierInVim:
    description: >
      An identifier maintained by the VIM or other resource provider.
      It is expected to be unique within the VIM instance. Representation: string of variable length.
    type: string


  IdentifierInVnf:
    description: >
      An identifier that is unique for the respective type within a VNF
      instance, but may not be globally unique.
    type: string

  MacAddress:
    description: >
      A MAC address. Representation: string that consists of groups of two hexadecimal digits,
      separated by hyphens or colons.
    type: string
    format: MAC

  IpAddress:
    description: >
      An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal
      integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that
      consists of groups of zero to four hexadecimal digits, separated by colons.
    type: string
    format: IP

  IpAddressPrefix:
    description: >
      An IPV4 or IPV6 address range in CIDR format. For IPV4 address range, refer to IETF RFC 4632 [12].
      For IPV6 address range, refer to IETF RFC 4291.
    type: string

  PortRange:
    description: >
      The PortRange data type provides the lower and upper bounds of a range of Internet ports.
      It shall comply with the provisions defined in Table 6.5.3.42-1.
    type: object
    required:
      - lowerPort
      - upperPort
    properties:
      lowerPort:
        description: >
          Identifies the lower bound of the port range. upperPort Integer
        type: integer
        minimum: 0
      upperPort:
        description: >
          Identifies the upper bound of the port range.
        type: integer
        minimum: 0

  Mask:
    description: >
      The Mask data type identifies the value to be matched for a sequence of
      bits at a particular location in a frame. It shall
      comply with the provisions defined in Table 6.5.3.41-1.
    type: object
    required:
      - startingPoint
      - length
      - value
    properties:
      startingPoint:
        description: >
          Indicates the offset between the last bit of the source
          mac address and the first bit of the sequence of bits
          to be matched.
        type: integer
      length:
        description: >
          Indicates the number of bits to be matched.
        type: integer
      value:
        description: >
          Provide the sequence of bit values to be matched.
        type: string