Commit ece67e50 authored by Muhammad Umair Zafar's avatar Muhammad Umair Zafar
Browse files

add description and notes in AppGrant API

parent f4a17369
Loading
Loading
Loading
Loading
Loading
+79 −34
Original line number Diff line number Diff line
@@ -119,6 +119,17 @@ components:
        linkPortId:
          type: string
          description: Identifier of a pre-configured link port to which the external CP will be associated. See note.
      description: |
        NOTE: The following conditions apply to the attributes "linkPortId" and " cpProtocolData":
              1)  The "linkPortId" and "cpProtocolData" attributes shall both be absent for the deletion of an existing 
                  external CP instance addressed by cpInstanceId.
              2)  At least one of these attributes shall be present for a to-be-created external CP instance or an existing 
                  external CP instance.
              3)  If the "linkPortId" attribute is absent, the MEPM shall create a link port.
              4)  If the "cpProtocolData" attribute is absent, the "linkPortId" attribute shall be provided referencing a precreated link port, and the MEPM can use means outside the scope of the present document to obtain 
                  the pre-configured address information for the connection point from the resource representing the link port.
              5)  If both "cpProtocolData" and "linkportId" are provided, the API consumer shall ensure that  the 
                  cpProtocolData can be used with the pre-created link port referenced by "linkPortId".

    AppExtCpData:
      title: AppExtCpData
@@ -146,7 +157,6 @@ components:
      type: string
      description: >
        Type of the resource definition referenced.
        NOTE: This permitted value reflects the ETSI NFV interpretation of the cloud native workloads.
      examples:
        - COMPUTE

@@ -165,8 +175,9 @@ components:
          type: string
          items:
            $ref: "#/components/schemas/IpOverEthernetAddressData"
          description: "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET. See note."
      description: |
            "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET. See note."
            Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET. See note.
            NOTE: 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.
@@ -211,6 +222,7 @@ components:
        vimConnectionId:
          type: string
          description: Identifier of the VIM connection to manage this resource.
  
    Grant:
      title: Grant
      required:
@@ -231,52 +243,66 @@ components:
          description: The identifier of the application lifecycle management operation occurrence associated to the Grant.
        vimConnections:
          type: array
          description: Provides information regarding VIM connections that are approved to be used by the MEPM to allocate resources, and provides parameters of these VIM connections.
          description: Provides information regarding VIM connections that are approved to be used by the MEPM to allocate resources, and provides parameters of these VIM connections.See note 1.
          items:
            $ref: "#/components/schemas/VimConnectionInfo"
        zones:
          type: array
          items:
            $ref: "#/components/schemas/ZoneInfo"
          description: ""
          description:  Identifies resource zones where the resources are approved to be allocated by the MEPM.
        zoneGroups:
          type: array
          items:
            $ref: "#/components/schemas/ZoneGroupInfo"
          description: ""
          description: Information about groups of resource zones that are related and that the MEO has chosen to fulfil a zoneGroup 
                        constraint in the Grant request.
        addResources:
          type: array
          items:
            $ref: "#/components/schemas/GrantInfo"
          description: ""
          description: List of resources that are approved to be added, with one entry per resource.
        tempResources:
          type: array
          items:
            $ref: "#/components/schemas/GrantInfo"
          description: ""
          description: List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with 
                        one entry per resource
        removeResources:
          type: array
          items:
            $ref: "#/components/schemas/GrantInfo"
          description: ""
          description: List of resources that are approved to be removed, with one entry per resource.
        updateResources:
          type: array
          items:
            $ref: "#/components/schemas/GrantInfo"
          description: ""
          description: List of resources that are approved to be modified, with one entry per resource
        vimAssets:
          type: string
          $ref: "#/components/schemas/VimAssets"
          description: Information about assets for the application that are managed by the MEO in the VIM, such as software images.See note 2.
        extVirtualLinks:
          type: array
          items:
            $ref: "#/components/schemas/ExtVirtualLinkData"
          description: ""
          description: Information about external VLs to connect the application instance to. See note 3.
        additionalParams:
          type: object
          description: "'This data 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 8259'"
        _links:
          description: Links to resources related to this request.
          $ref: "#/components/schemas/Grant.links"
      description: "'This type represents a grant. Refer to clause 9.5.2.3 of ETSI GS NFV-SOL 003 '"
      description: |
        This type represents a grant. Refer to clause 9.5.2.3 of ETSI GS NFV-SOL 003 
        NOTE 1: This interface allows to signal the use of multiple VIMs per application. However, due to the partial support of 
                this feature in the present release, it is recommended in the present document that the number of entries in 
                the "vims" attribute in the Grant is not greater than 1.
        NOTE 2: The further condition will be defined by ETSI GS NFV-SOL 003 [7].
        NOTE 3: External VLs can be passed in the application lifecycle management operation requests such as Instantiate, 
                and/or in the grant response. The MEO may choose to override in the grant response external VL instances 
                that have been passed previously in the associated application lifecycle management request, if the lifecycle 
                management request has originated from the MEO itself

    VimAssets:
      title: VimAssets
@@ -324,13 +350,13 @@ components:
          type: string
          description: >
            The value of the namespace in which the MCIOs of an application with containerized components shall be deployed. This attribute shall be present if the granted resources are managed by a CISM. The attribute shall be absent if the granted resources are not managed by a CISM. See note.
            NOTE: This attribute reflects the ETSI NFV interpretation of the cloud native workloads.
        mcioConstraints:
          type: object
          type: array
          items:
            $ref: '#/components/schemas/KeyValuePair'
          description: >
            "'This data 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 8259'"
      description: |
        NOTE: This attribute reflects the ETSI NFV interpretation of the cloud native workloads.

    GrantRequest:
@@ -354,34 +380,42 @@ components:
          description: Identifier of this MEC application descriptor. This attribute shall be globally unique.
        operation:
          $ref: "#/components/schemas/GrantRequest.Operation"
          description: The lifecycle management operation for which granting is requested See notes 1 and 2.
        addResources:
          type: array
          items:
            $ref: "#/components/schemas/ResourceDefinition"
          description: ""
          description: List of resource definitions in the AppD for resources to be added by the LCM operation which is related to this grant request, with one entry per resource.
        tempResources:
          type: array
          items:
            $ref: "#/components/schemas/ResourceDefinition"
          description: ""
          description: List of resource definitions in the AppD for resources to be temporarily instantiated during the runtime of the LCM operation which is related to this grant request. See note 3.
        removeResources:
          type: array
          items:
            $ref: "#/components/schemas/ResourceDefinition"
          description: ""
          description: Removed by the LCM operation which is related to this grant request, with one entry per resource.
        updateResources:
          type: array
          items:
            $ref: "#/components/schemas/ResourceDefinition"
          description: ""
          description: Provides the definitions of resources to be modified by the LCM operation which is related to this grant request, with one entry per resource.
        additionalParams:
          type: object
          type: string
          items:
            $ref: '#/components/schemas/KeyValuePair'
          description: "'This data 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 8259'"
          description: "EPM, specific to the application and the LCM operation."
        _links:
          $ref: "#/components/schemas/GrantRequest.links"
      description: "'This type represents a grant request. Refer to clause 9.5.2.2 of ETSI GS NFV-SOL 003'"
      description: |
        This type represents a grant request. Refer to clause 9.5.2.2 of ETSI GS NFV-SOL 003
        NOTE 1: Other application LCM operations can be executed by the MEPM without requesting granting.
        NOTE 2: If the granting request is for Instantiate, addResources shall be present.
        NOTE 3: The MEO will assume that the MEPM will be responsible to both allocate and release the temporary 
                resource during the runtime of the LCM operation. This means, the resource can be allocated and 
                consumed after the "start" notification for the LCM operation is sent by the MEPM, and the resource will be
                released before the "result" notification of the application LCM operation is sent by the MEPM.

    GrantRequest.Operation:
      title: GrantRequest.Operation
@@ -415,14 +449,15 @@ components:
          type: string
          description: |
            "'MAC address. If this attribute is not present, it shall be chosen by the VIM. See note 1.'"
            NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present.
        ipAddresses:
          type: array
          items:
            $ref: "#/components/schemas/IpAddress"
          description: |
            List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.
            NOTE 1:  At least one of "macAddress" or "ipAddresses" shall be present
      description: |
        NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present.
        NOTE 2: Exactly one of "fixedAddresses", "numDynamicAddresses" or "ipAddressRange" shall be present.

    KeyValuePair:
      type: object
@@ -526,6 +561,7 @@ components:
          description: Identifier of the related ResourceDefinition structure from the related GrantRequest structure.
        type:
          $ref: "#/components/schemas/ResourceDefinition.Type"
          description: Type of the resource definition referenced.See note
        vduId:
          type: string
          description: Reference to the related VDU in the AppD applicable to this resource.
@@ -543,8 +579,9 @@ components:
            shall be "1" otherwise.
        resource:
          $ref: "#/components/schemas/Resource"
      description: "'This type provides information of an existing or proposed resource used by the application. Refer to clause 9.5.3.2 of ETSI GS NFV-SOL 003 '"

      description: |
        This type provides information of an existing or proposed resource used by the application. Refer to clause 9.5.3.2 of ETSI GS NFV-SOL 003
        NOTE: This permitted value reflects the ETSI NFV interpretation of the cloud native workloads.
    Resource:
      title: Resource
      required:
@@ -569,12 +606,6 @@ components:
          type: string
          description: |
            Identifier of the resource in the scope of the VIM or the CISM or the resource provider. See note 2.
            NOTE 2: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way
              - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type.
              - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
              i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
              Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest.
              - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the 'metadata.name' field in Kubernetes® manifest
        vimConnectionId:
          type: string
          description: Identifier of the VIM connection to manage the resource.The applicable "VimConnectionInfo" structure, which is referenced by vimConnectionId, can be obtained from the "vimConnectionInfo" attribute of the "AppInstance" structure.
@@ -582,7 +613,20 @@ components:
          type: string
          description: >
            Type of the resource in the scope of the VIM. See note 1.
            NOTE 1: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM and can be used as information that complements the ResourceHandle. This value set is different from the value set of the "type" attribute in the ResourceDefinition.
      description: |
        NOTE 1: The value set of the "vimLevelResourceType" attribute is within the scope of the VIM and can be used as 
                information that complements the ResourceHandle. This value set is different from the value set of the 
                "type" attribute in the ResourceDefinition.
        NOTE 2: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the 
                following way:
                - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide 
                per resource type.
                - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, 
                i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by 
                Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own 
                manifest.
                - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value 
                of the 'metadata.name' field in Kubernetes® manifest.

    VimConnectionInfo:
      title: VimConnectionInfo
@@ -633,6 +677,7 @@ components:
          type: string
          description: >
            Identifier of the software image in the resource management layer (i.e. VIM) See note.
      description: |
        NOTE: For an OS container image, the value of this attribute is a string concatenating the name and tag of the image in the CIR separated by a colon ':' with no spaces, e.g. "dbImage:001".

    ZoneGroupInfo: